Lines Matching refs:Allocator
32 template <typename Allocator, typename = void>
37 template <typename Allocator>
38 struct is_always_equal_detector<Allocator, tbb::detail::void_t<typename Allocator::is_always_equal>>
40 using type = typename Allocator::is_always_equal;
44 template <typename Allocator>
45 class allocator_traits : public std::allocator_traits<Allocator>
47 using base_type = std::allocator_traits<Allocator>;
50 using is_always_equal = typename is_always_equal_detector<Allocator>::type;
57 template <typename Allocator>
58 void copy_assign_allocators_impl( Allocator& lhs, const Allocator& rhs, /*pocca = */std::true_type …
62 template <typename Allocator>
63 void copy_assign_allocators_impl( Allocator&, const Allocator&, /*pocca = */ std::false_type ) {}
66 template <typename Allocator>
67 void copy_assign_allocators( Allocator& lhs, const Allocator& rhs ) {
68 using pocca_type = typename allocator_traits<Allocator>::propagate_on_container_copy_assignment;
72 template <typename Allocator>
73 void move_assign_allocators_impl( Allocator& lhs, Allocator& rhs, /*pocma = */ std::true_type ) {
77 template <typename Allocator>
78 void move_assign_allocators_impl( Allocator&, Allocator&, /*pocma = */ std::false_type ) {}
81 template <typename Allocator>
82 void move_assign_allocators( Allocator& lhs, Allocator& rhs ) {
83 using pocma_type = typename allocator_traits<Allocator>::propagate_on_container_move_assignment;
87 template <typename Allocator>
88 void swap_allocators_impl( Allocator& lhs, Allocator& rhs, /*pocs = */ std::true_type ) {
93 template <typename Allocator>
94 void swap_allocators_impl( Allocator&, Allocator&, /*pocs = */ std::false_type ) {}
97 template <typename Allocator>
98 void swap_allocators( Allocator& lhs, Allocator& rhs ) {
99 using pocs_type = typename allocator_traits<Allocator>::propagate_on_container_swap;