Lines Matching refs:other
70 segment_table( const segment_table& other ) in segment_table() argument
72 … select_on_container_copy_construction(other.my_segment_table_allocator)) in segment_table()
78 internal_transfer(other, copy_segment_body_type{*this});
84 segment_table( const segment_table& other, const allocator_type& alloc ) in segment_table() argument
91 internal_transfer(other, copy_segment_body_type{*this});
97 segment_table( segment_table&& other ) in segment_table() argument
98 …: my_segment_table_allocator(std::move(other.my_segment_table_allocator)), my_segment_table(nullpt… in segment_table()
103 internal_move(std::move(other));
106 segment_table( segment_table&& other, const allocator_type& alloc ) in segment_table() argument
113 internal_move_construct_with_allocator(std::move(other), alloc, is_equal_type());
120 segment_table& operator=( const segment_table& other ) {
121 if (this != &other) {
122 copy_assign_allocators(my_segment_table_allocator, other.my_segment_table_allocator);
123 internal_transfer(other, copy_segment_body_type{*this});
128 segment_table& operator=( segment_table&& other )
134 if (this != &other) { in noexcept()
135 move_assign_allocators(my_segment_table_allocator, other.my_segment_table_allocator); in noexcept()
136 … internal_move_assign(std::move(other), tbb::detail::disjunction<is_equal_type, pocma_type>()); in noexcept()
141 void swap( segment_table& other ) in swap() argument
147 if (this != &other) { in swap()
148 swap_allocators(my_segment_table_allocator, other.my_segment_table_allocator); in swap()
149 internal_swap(other, tbb::detail::disjunction<is_equal_type, pocs_type>()); in swap()
345 void internal_transfer( const segment_table& other, TransferBody transfer_segment ) { in internal_transfer() argument
348 assign_first_block_if_necessary(other.my_first_block.load(std::memory_order_relaxed)); in internal_transfer()
349 my_size.store(other.my_size.load(std::memory_order_relaxed), std::memory_order_relaxed); in internal_transfer()
351 segment_table_type other_table = other.get_table(); in internal_transfer()
352 size_type end_segment_size = segment_size(other.find_last_allocated_segment(other_table)); in internal_transfer()
355 size_type other_size = end_segment_size < other.my_size.load(std::memory_order_relaxed) ? in internal_transfer()
356 other.my_size.load(std::memory_order_relaxed) : end_segment_size; in internal_transfer()
367 … transfer_segment(i, other.get_table()[i].load(std::memory_order_relaxed) + segment_base(i), in internal_transfer()
375 void internal_move( segment_table&& other ) { in internal_move() argument
378 …my_first_block.store(other.my_first_block.load(std::memory_order_relaxed), std::memory_order_relax… in internal_move()
379 my_size.store(other.my_size.load(std::memory_order_relaxed), std::memory_order_relaxed); in internal_move()
381 if (other.get_table() == other.my_embedded_table) { in internal_move()
383 … segment_type other_segment = other.my_embedded_table[i].load(std::memory_order_relaxed); in internal_move()
385 other.my_embedded_table[i].store(nullptr, std::memory_order_relaxed); in internal_move()
389 my_segment_table.store(other.my_segment_table, std::memory_order_relaxed); in internal_move()
390 other.my_segment_table.store(other.my_embedded_table, std::memory_order_relaxed); in internal_move()
391 zero_table(other.my_embedded_table, pointers_per_embedded_table); in internal_move()
393 other.my_size.store(0, std::memory_order_relaxed); in internal_move()
398 void internal_move_construct_with_allocator( segment_table&& other, const allocator_type&, in internal_move_construct_with_allocator() argument
400 internal_move(std::move(other)); in internal_move_construct_with_allocator()
405 void internal_move_construct_with_allocator( segment_table&& other, const allocator_type& alloc, in internal_move_construct_with_allocator() argument
407 if (other.my_segment_table_allocator == alloc) { in internal_move_construct_with_allocator()
409 internal_move(std::move(other)); in internal_move_construct_with_allocator()
413 internal_transfer(other, move_segment_body_type{*this}); in internal_move_construct_with_allocator()
422 …void internal_move_assign( segment_table&& other, /*is_always_equal || POCMA = */ std::true_type )… in internal_move_assign() argument
423 internal_move(std::move(other)); in internal_move_assign()
428 …void internal_move_assign( segment_table&& other, /*is_always_equal || POCMA = */ std::false_type … in internal_move_assign() argument
429 if (my_segment_table_allocator == other.my_segment_table_allocator) { in internal_move_assign()
431 internal_move(std::move(other)); in internal_move_assign()
434 internal_transfer(other, move_segment_body_type{*this}); in internal_move_assign()
440 void internal_swap( segment_table& other, /*is_always_equal || POCS = */ std::true_type ) { in internal_swap() argument
441 internal_swap_fields(other); in internal_swap()
448 void internal_swap( segment_table& other, /*is_always_equal || POCS = */ std::false_type ) { in internal_swap() argument
449 __TBB_ASSERT(my_segment_table_allocator == other.my_segment_table_allocator, in internal_swap()
451 internal_swap_fields(other); in internal_swap()
454 void internal_swap_fields( segment_table& other ) { in internal_swap_fields() argument
457 other.get_table() == other.my_embedded_table) { in internal_swap_fields()
461 … segment_type other_segment = other.my_embedded_table[i].load(std::memory_order_relaxed); in internal_swap_fields()
464 other.my_embedded_table[i].store(current_segment, std::memory_order_relaxed); in internal_swap_fields()
469 segment_table_type other_segment_table = other.get_table(); in internal_swap_fields()
474 other.my_segment_table.store(other.my_embedded_table, std::memory_order_relaxed); in internal_swap_fields()
477 other.my_segment_table.store(current_segment_table, std::memory_order_relaxed); in internal_swap_fields()
482 if (other_segment_table == other.my_embedded_table) { in internal_swap_fields()
488 auto first_block = other.my_first_block.load(std::memory_order_relaxed); in internal_swap_fields()
489 …other.my_first_block.store(my_first_block.load(std::memory_order_relaxed), std::memory_order_relax… in internal_swap_fields()
492 auto size = other.my_size.load(std::memory_order_relaxed); in internal_swap_fields()
493 other.my_size.store(my_size.load(std::memory_order_relaxed), std::memory_order_relaxed); in internal_swap_fields()