16namespace sequoia::data_structures::partition_impl
18 template<
bool Reversed, std::
integral IndexType>
22 using index_type = IndexType;
28 constexpr static auto npos{std::numeric_limits<index_type>::max()};
31 constexpr static bool reversed()
noexcept {
return Reversed; }
37 constexpr IndexType partition_index()
const noexcept {
return m_Partition; }
46 IndexType m_Partition{};
51 template<alloc PartitionAllocator, alloc Allocator>
52 inline constexpr bool is_always_equal_v{
53 std::allocator_traits<PartitionAllocator>::is_always_equal::value
54 && std::allocator_traits<Allocator>::is_always_equal::value
57 template<alloc PartitionAllocator, alloc Allocator>
58 inline constexpr bool propagates_on_copy_assignment_v{
59 ( std::allocator_traits<PartitionAllocator>::propagate_on_container_copy_assignment::value
60 || std::allocator_traits<PartitionAllocator>::is_always_equal::value)
61 && ( std::allocator_traits<Allocator>::propagate_on_container_copy_assignment::value
62 || std::allocator_traits<Allocator>::is_always_equal::value)
65 template<alloc PartitionAllocator, alloc Allocator>
66 inline constexpr bool propagates_on_move_assignment_v{
67 ( std::allocator_traits<PartitionAllocator>::propagate_on_container_move_assignment::value
68 || std::allocator_traits<PartitionAllocator>::is_always_equal::value)
69 && ( std::allocator_traits<Allocator>::propagate_on_container_move_assignment::value
70 || std::allocator_traits<Allocator>::is_always_equal::value)
Traits which are sufficiently general to appear in the sequoia namespace.
Definition: PartitionedDataDetails.hpp:20