#pragma once #include namespace detail::refcount_hive { // To enable conversion to void * when allocator supplies non-raw pointers: template static constexpr void *void_cast(const source_pointer_type source_pointer) noexcept { return static_cast(&*source_pointer); } template static constexpr std::move_iterator make_move_iterator(iterator_type it) { return std::move_iterator(std::move(it)); } enum class priority { performance = 1, memory_use = 4 }; struct limits { size_t min, max; constexpr limits(const size_t minimum, const size_t maximum) noexcept : min(minimum), max(maximum) {} }; } // namespace detail::refcount_hive