|
Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Concurrent vector container. More...
#include <concurrent_vector.h>
Classes | |
| class | generic_range_type |
| class | internal_loop_guide |
| Exception-aware helper class for filling a segment by exception-danger operators of user class. More... | |
| class | is_integer_tag |
| helper class More... | |
| struct | push_back_helper |
Public Types | |
| typedef internal::concurrent_vector_base_v3::size_type | size_type |
| typedef internal::allocator_base< T, A >::allocator_type | allocator_type |
| typedef T | value_type |
| typedef ptrdiff_t | difference_type |
| typedef T & | reference |
| typedef const T & | const_reference |
| typedef T * | pointer |
| typedef const T * | const_pointer |
| typedef internal::vector_iterator< concurrent_vector, T > | iterator |
| typedef internal::vector_iterator< concurrent_vector, const T > | const_iterator |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
| typedef generic_range_type< iterator > | range_type |
| typedef generic_range_type< const_iterator > | const_range_type |
Public Member Functions | |
| concurrent_vector (const allocator_type &a=allocator_type()) | |
| Construct empty vector. More... | |
| concurrent_vector (std::initializer_list< T > init_list, const allocator_type &a=allocator_type()) | |
| Constructor from initializer_list. More... | |
| concurrent_vector (const concurrent_vector &vector, const allocator_type &a=allocator_type()) | |
| Copying constructor. More... | |
| concurrent_vector (concurrent_vector &&source) | |
| Move constructor. More... | |
| concurrent_vector (concurrent_vector &&source, const allocator_type &a) | |
| template<class M > | |
| concurrent_vector (const concurrent_vector< T, M > &vector, const allocator_type &a=allocator_type()) | |
| Copying constructor for vector with different allocator type. More... | |
| concurrent_vector (size_type n) | |
| Construction with initial size specified by argument n. More... | |
| concurrent_vector (size_type n, const_reference t, const allocator_type &a=allocator_type()) | |
| Construction with initial size specified by argument n, initialization by copying of t, and given allocator instance. More... | |
| template<class I > | |
| concurrent_vector (I first, I last, const allocator_type &a=allocator_type()) | |
| Construction with copying iteration range and given allocator instance. More... | |
| concurrent_vector & | operator= (const concurrent_vector &vector) |
| Assignment. More... | |
| concurrent_vector & | operator= (concurrent_vector &&other) |
| Move assignment. More... | |
| template<class M > | |
| concurrent_vector & | operator= (const concurrent_vector< T, M > &vector) |
| Assignment for vector with different allocator type. More... | |
| concurrent_vector & | operator= (std::initializer_list< T > init_list) |
| Assignment for initializer_list. More... | |
| iterator | grow_by (size_type delta) |
| Grow by "delta" elements. More... | |
| iterator | grow_by (size_type delta, const_reference t) |
| Grow by "delta" elements using copying constructor. More... | |
| template<typename I > | |
| iterator | grow_by (I first, I last) |
| iterator | grow_by (std::initializer_list< T > init_list) |
| iterator | grow_to_at_least (size_type n) |
| Append minimal sequence of elements such that size()>=n. More... | |
| iterator | grow_to_at_least (size_type n, const_reference t) |
| iterator | push_back (const_reference item) |
| Push item. More... | |
| iterator | push_back (T &&item) |
| Push item, move-aware. More... | |
| template<typename... Args> | |
| iterator | emplace_back (Args &&... args) |
| Push item, create item "in place" with provided arguments. More... | |
| reference | operator[] (size_type index) |
| Get reference to element at given index. More... | |
| const_reference | operator[] (size_type index) const |
| Get const reference to element at given index. More... | |
| reference | at (size_type index) |
| Get reference to element at given index. Throws exceptions on errors. More... | |
| const_reference | at (size_type index) const |
| Get const reference to element at given index. Throws exceptions on errors. More... | |
| range_type | range (size_t grainsize=1) |
| Get range for iterating with parallel algorithms. More... | |
| const_range_type | range (size_t grainsize=1) const |
| Get const range for iterating with parallel algorithms. More... | |
| size_type | size () const |
| Return size of vector. It may include elements under construction. More... | |
| bool | empty () const |
| Return false if vector is not empty or has elements under construction at least. More... | |
| size_type | capacity () const |
| Maximum size to which array can grow without allocating more memory. Concurrent allocations are not included in the value. More... | |
| void | reserve (size_type n) |
| Allocate enough space to grow to size n without having to allocate more memory later. More... | |
| void | resize (size_type n) |
| Resize the vector. Not thread-safe. More... | |
| void | resize (size_type n, const_reference t) |
| Resize the vector, copy t for new elements. Not thread-safe. More... | |
| void | shrink_to_fit () |
| Optimize memory usage and fragmentation. More... | |
| size_type | max_size () const |
| Upper bound on argument to reserve. More... | |
| iterator | begin () |
| start iterator More... | |
| iterator | end () |
| end iterator More... | |
| const_iterator | begin () const |
| start const iterator More... | |
| const_iterator | end () const |
| end const iterator More... | |
| const_iterator | cbegin () const |
| start const iterator More... | |
| const_iterator | cend () const |
| end const iterator More... | |
| reverse_iterator | rbegin () |
| reverse start iterator More... | |
| reverse_iterator | rend () |
| reverse end iterator More... | |
| const_reverse_iterator | rbegin () const |
| reverse start const iterator More... | |
| const_reverse_iterator | rend () const |
| reverse end const iterator More... | |
| const_reverse_iterator | crbegin () const |
| reverse start const iterator More... | |
| const_reverse_iterator | crend () const |
| reverse end const iterator More... | |
| reference | front () |
| the first item More... | |
| const_reference | front () const |
| the first item const More... | |
| reference | back () |
| the last item More... | |
| const_reference | back () const |
| the last item const More... | |
| allocator_type | get_allocator () const |
| return allocator object More... | |
| void | assign (size_type n, const_reference t) |
| assign n items by copying t item More... | |
| template<class I > | |
| void | assign (I first, I last) |
| assign range [first, last) More... | |
| void | assign (std::initializer_list< T > init_list) |
| assigns an initializer list More... | |
| void | swap (concurrent_vector &vector) |
| swap two instances More... | |
| void | clear () |
| Clear container while keeping memory allocated. More... | |
| ~concurrent_vector () | |
| Clear and destroy vector. More... | |
| const internal::concurrent_vector_base_v3 & | internal_vector_base () const |
| template<typename I > | |
| void | copy_range (void *dst, const void *p_type_erased_iterator, size_type n) |
Static Private Member Functions | |
| static void * | internal_allocator (internal::concurrent_vector_base_v3 &vb, size_t k) |
| Allocate k items. More... | |
| static void __TBB_EXPORTED_FUNC | initialize_array (void *begin, const void *, size_type n) |
| Construct n instances of T, starting at "begin". More... | |
| static void __TBB_EXPORTED_FUNC | initialize_array_by (void *begin, const void *src, size_type n) |
| Copy-construct n instances of T, starting at "begin". More... | |
| static void __TBB_EXPORTED_FUNC | copy_array (void *dst, const void *src, size_type n) |
| Copy-construct n instances of T by copying single element pointed to by src, starting at "dst". More... | |
| static void __TBB_EXPORTED_FUNC | move_array (void *dst, const void *src, size_type n) |
| Move-construct n instances of T, starting at "dst" by copying according element of src array. More... | |
| static void __TBB_EXPORTED_FUNC | move_assign_array (void *dst, const void *src, size_type n) |
| Move-assign (using operator=) n instances of T, starting at "dst" by assigning according element of src array. More... | |
| template<typename Iterator > | |
| static void __TBB_EXPORTED_FUNC | copy_range (void *dst, const void *p_type_erased_iterator, size_type n) |
| Copy-construct n instances of T, starting at "dst" by iterator range of [p_type_erased_iterator, p_type_erased_iterator+n). More... | |
| static void __TBB_EXPORTED_FUNC | assign_array (void *dst, const void *src, size_type n) |
| Assign (using operator=) n instances of T, starting at "dst" by assigning according element of src array. More... | |
| static void __TBB_EXPORTED_FUNC | destroy_array (void *begin, size_type n) |
| Destroy n instances of T, starting at "begin". More... | |
Static Private Member Functions inherited from tbb::internal::concurrent_vector_base_v3 | |
| static segment_index_t | segment_index_of (size_type index) |
| static segment_index_t | segment_base (segment_index_t k) |
| static segment_index_t | segment_base_index_of (segment_index_t &index) |
| static size_type | segment_size (segment_index_t k) |
| static bool | is_first_element_in_segment (size_type element_index) |
Friends | |
| template<typename C , typename U > | |
| class | internal::vector_iterator |
Additional Inherited Members | |
Protected Types inherited from tbb::internal::allocator_base< T, A > | |
| typedef A::template rebind< T >::other | allocator_type |
Protected Member Functions inherited from tbb::internal::allocator_base< T, A > | |
| allocator_base (const allocator_type &a=allocator_type()) | |
Protected Attributes inherited from tbb::internal::allocator_base< T, A > | |
| allocator_type | my_allocator |
Private Types inherited from tbb::internal::concurrent_vector_base_v3 | |
| enum | { default_initial_segments = 1, pointers_per_short_table = 3, pointers_per_long_table = sizeof(segment_index_t) * 8 } |
| typedef size_t | segment_index_t |
| typedef size_t | size_type |
| typedef void(__TBB_EXPORTED_FUNC * | internal_array_op1) (void *begin, size_type n) |
| An operation on an n-element array starting at begin. More... | |
| typedef void(__TBB_EXPORTED_FUNC * | internal_array_op2) (void *dst, const void *src, size_type n) |
| An operation on n-element destination array and n-element source array. More... | |
Private Attributes inherited from tbb::internal::concurrent_vector_base_v3 | |
| void *(* | vector_allocator_ptr )(concurrent_vector_base_v3 &, size_t) |
| allocator function pointer More... | |
| atomic< size_type > | my_first_block |
| count of segments in the first block More... | |
| atomic< size_type > | my_early_size |
| Requested size of vector. More... | |
| atomic< segment_t * > | my_segment |
| Pointer to the segments table. More... | |
| segment_t | my_storage [pointers_per_short_table] |
| embedded storage of segment pointers More... | |
Concurrent vector container.
concurrent_vector is a container having the following main properties:
Definition at line 63 of file concurrent_vector.h.
| typedef internal::allocator_base<T, A>::allocator_type tbb::concurrent_vector< T, A >::allocator_type |
Definition at line 569 of file concurrent_vector.h.
| typedef internal::vector_iterator<concurrent_vector,const T> tbb::concurrent_vector< T, A >::const_iterator |
Definition at line 579 of file concurrent_vector.h.
| typedef const T* tbb::concurrent_vector< T, A >::const_pointer |
Definition at line 576 of file concurrent_vector.h.
| typedef generic_range_type<const_iterator> tbb::concurrent_vector< T, A >::const_range_type |
Definition at line 595 of file concurrent_vector.h.
| typedef const T& tbb::concurrent_vector< T, A >::const_reference |
Definition at line 574 of file concurrent_vector.h.
| typedef std::reverse_iterator<const_iterator> tbb::concurrent_vector< T, A >::const_reverse_iterator |
Definition at line 584 of file concurrent_vector.h.
| typedef ptrdiff_t tbb::concurrent_vector< T, A >::difference_type |
Definition at line 572 of file concurrent_vector.h.
| typedef internal::vector_iterator<concurrent_vector,T> tbb::concurrent_vector< T, A >::iterator |
Definition at line 578 of file concurrent_vector.h.
| typedef T* tbb::concurrent_vector< T, A >::pointer |
Definition at line 575 of file concurrent_vector.h.
| typedef generic_range_type<iterator> tbb::concurrent_vector< T, A >::range_type |
Definition at line 594 of file concurrent_vector.h.
| typedef T& tbb::concurrent_vector< T, A >::reference |
Definition at line 573 of file concurrent_vector.h.
| typedef std::reverse_iterator<iterator> tbb::concurrent_vector< T, A >::reverse_iterator |
Definition at line 583 of file concurrent_vector.h.
| typedef internal::concurrent_vector_base_v3::size_type tbb::concurrent_vector< T, A >::size_type |
Definition at line 568 of file concurrent_vector.h.
| typedef T tbb::concurrent_vector< T, A >::value_type |
Definition at line 571 of file concurrent_vector.h.
|
inlineexplicit |
Construct empty vector.
Definition at line 602 of file concurrent_vector.h.
|
inline |
Constructor from initializer_list.
Definition at line 612 of file concurrent_vector.h.
|
inline |
Copying constructor.
Definition at line 628 of file concurrent_vector.h.
|
inline |
Move constructor.
Definition at line 644 of file concurrent_vector.h.
|
inline |
Definition at line 651 of file concurrent_vector.h.
|
inline |
Copying constructor for vector with different allocator type.
Definition at line 674 of file concurrent_vector.h.
|
inlineexplicit |
Construction with initial size specified by argument n.
Definition at line 688 of file concurrent_vector.h.
|
inline |
Construction with initial size specified by argument n, initialization by copying of t, and given allocator instance.
Definition at line 701 of file concurrent_vector.h.
|
inline |
Construction with copying iteration range and given allocator instance.
Definition at line 716 of file concurrent_vector.h.
|
inline |
Clear and destroy vector.
Definition at line 1019 of file concurrent_vector.h.
|
inline |
assign n items by copying t item
Definition at line 985 of file concurrent_vector.h.
|
inline |
assign range [first, last)
Definition at line 992 of file concurrent_vector.h.
|
inline |
assigns an initializer list
Definition at line 998 of file concurrent_vector.h.
|
staticprivate |
Assign (using operator=) n instances of T, starting at "dst" by assigning according element of src array.
Definition at line 1320 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::operator=().
|
inline |
Get reference to element at given index. Throws exceptions on errors.
Definition at line 873 of file concurrent_vector.h.
|
inline |
Get const reference to element at given index. Throws exceptions on errors.
Definition at line 878 of file concurrent_vector.h.
|
inline |
the last item
Definition at line 972 of file concurrent_vector.h.
|
inline |
the last item const
Definition at line 977 of file concurrent_vector.h.
|
inline |
start iterator
Definition at line 936 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::crend(), tbb::concurrent_vector< padded_element, padded_allocator_type >::range(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::rend().
|
inline |
start const iterator
Definition at line 940 of file concurrent_vector.h.
|
inline |
Maximum size to which array can grow without allocating more memory. Concurrent allocations are not included in the value.
Definition at line 905 of file concurrent_vector.h.
|
inline |
start const iterator
Definition at line 944 of file concurrent_vector.h.
|
inline |
end const iterator
Definition at line 946 of file concurrent_vector.h.
|
inline |
Clear container while keeping memory allocated.
To free up the memory, use in conjunction with method compact(). Not thread safe
Definition at line 1014 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::assign(), and tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::clear().
|
staticprivate |
Copy-construct n instances of T by copying single element pointed to by src, starting at "dst".
Definition at line 1290 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::operator=().
|
staticprivate |
Copy-construct n instances of T, starting at "dst" by iterator range of [p_type_erased_iterator, p_type_erased_iterator+n).
| void tbb::concurrent_vector< T, A >::copy_range | ( | void * | dst, |
| const void * | p_type_erased_iterator, | ||
| size_type | n | ||
| ) |
Definition at line 1314 of file concurrent_vector.h.
|
inline |
reverse start const iterator
Definition at line 956 of file concurrent_vector.h.
|
inline |
reverse end const iterator
Definition at line 958 of file concurrent_vector.h.
|
staticprivate |
Destroy n instances of T, starting at "begin".
Definition at line 1330 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::assign(), tbb::concurrent_vector< padded_element, padded_allocator_type >::clear(), tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_n(), tbb::concurrent_vector< padded_element, padded_allocator_type >::operator=(), tbb::concurrent_vector< padded_element, padded_allocator_type >::resize(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::~concurrent_vector().
|
inline |
Push item, create item "in place" with provided arguments.
Returns iterator pointing to the new element.
Definition at line 852 of file concurrent_vector.h.
|
inline |
Return false if vector is not empty or has elements under construction at least.
Definition at line 902 of file concurrent_vector.h.
Referenced by tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::empty().
|
inline |
end iterator
Definition at line 938 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::crbegin(), tbb::concurrent_vector< padded_element, padded_allocator_type >::range(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::rbegin().
|
inline |
end const iterator
Definition at line 942 of file concurrent_vector.h.
|
inline |
the first item
Definition at line 960 of file concurrent_vector.h.
|
inline |
the first item const
Definition at line 966 of file concurrent_vector.h.
|
inline |
return allocator object
Definition at line 982 of file concurrent_vector.h.
|
inline |
Grow by "delta" elements.
Returns iterator pointing to the first new element.
Definition at line 779 of file concurrent_vector.h.
Referenced by tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::create_local(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::grow_by().
|
inline |
Grow by "delta" elements using copying constructor.
Returns iterator pointing to the first new element.
Definition at line 785 of file concurrent_vector.h.
|
inline |
Returns iterator pointing to the first new element.
Definition at line 791 of file concurrent_vector.h.
|
inline |
Returns iterator pointing to the first new element.
Definition at line 800 of file concurrent_vector.h.
|
inline |
Append minimal sequence of elements such that size()>=n.
The new elements are default constructed. Blocks until all elements in range [0..n) are allocated. May return while other elements are being constructed by other threads. Returns iterator that points to beginning of appended sequence. If no elements were appended, returns iterator pointing to nth element.
Definition at line 810 of file concurrent_vector.h.
|
inline |
Analogous to grow_to_at_least( size_type n ) with exception that the new elements are initialized by copying of t instead of default construction.
Definition at line 821 of file concurrent_vector.h.
|
staticprivate |
Construct n instances of T, starting at "begin".
Definition at line 1280 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), tbb::concurrent_vector< padded_element, padded_allocator_type >::grow_by(), tbb::concurrent_vector< padded_element, padded_allocator_type >::grow_to_at_least(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_n(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::resize().
|
staticprivate |
Copy-construct n instances of T, starting at "begin".
Definition at line 1285 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::assign(), tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), tbb::concurrent_vector< padded_element, padded_allocator_type >::grow_by(), tbb::concurrent_vector< padded_element, padded_allocator_type >::grow_to_at_least(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_n(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::resize().
|
inlinestaticprivate |
Allocate k items.
Definition at line 1028 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector().
|
private |
assign by iterators
Definition at line 1259 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_range().
|
inlineprivate |
assign n items by copying t
Definition at line 1041 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_range().
|
inlineprivate |
assign integer items by copying when arguments are treated as iterators. See C++ Standard 2003 23.1.1p9
Definition at line 1050 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::assign(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector().
|
inlineprivate |
inline proxy assign by iterators
Definition at line 1055 of file concurrent_vector.h.
|
private |
Free k segments from table.
Definition at line 1206 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::~concurrent_vector().
|
private |
Get reference to element at given index.
Definition at line 1224 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::back(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::operator[]().
|
private |
Get reference to element at given index with errors checks.
Definition at line 1241 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::at().
|
inline |
Definition at line 1025 of file concurrent_vector.h.
|
inline |
Upper bound on argument to reserve.
Definition at line 929 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::assign(), tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_n(), tbb::concurrent_vector< padded_element, padded_allocator_type >::reserve(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::resize().
|
staticprivate |
Move-construct n instances of T, starting at "dst" by copying according element of src array.
Definition at line 1296 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::operator=().
|
staticprivate |
Move-assign (using operator=) n instances of T, starting at "dst" by assigning according element of src array.
Definition at line 1300 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::operator=().
|
inline |
Assignment.
Definition at line 730 of file concurrent_vector.h.
|
inline |
Move assignment.
Definition at line 739 of file concurrent_vector.h.
|
inline |
Assignment for vector with different allocator type.
Definition at line 758 of file concurrent_vector.h.
|
inline |
Assignment for initializer_list.
Definition at line 767 of file concurrent_vector.h.
|
inline |
Get reference to element at given index.
This method is thread-safe for concurrent reads, and also while growing the vector, as long as the calling thread has checked that index < size().
Definition at line 863 of file concurrent_vector.h.
|
inline |
Get const reference to element at given index.
Definition at line 868 of file concurrent_vector.h.
|
inline |
Push item.
Returns iterator pointing to the new element.
Definition at line 832 of file concurrent_vector.h.
|
inline |
Push item, move-aware.
Returns iterator pointing to the new element.
Definition at line 842 of file concurrent_vector.h.
|
inline |
Get range for iterating with parallel algorithms.
Definition at line 883 of file concurrent_vector.h.
|
inline |
Get const range for iterating with parallel algorithms.
Definition at line 888 of file concurrent_vector.h.
|
inline |
reverse start iterator
Definition at line 948 of file concurrent_vector.h.
|
inline |
reverse start const iterator
Definition at line 952 of file concurrent_vector.h.
|
inline |
reverse end iterator
Definition at line 950 of file concurrent_vector.h.
|
inline |
reverse end const iterator
Definition at line 954 of file concurrent_vector.h.
|
inline |
Allocate enough space to grow to size n without having to allocate more memory later.
Like most of the methods provided for STL compatibility, this method is not thread safe. The capacity afterwards may be bigger than the requested reservation.
Definition at line 910 of file concurrent_vector.h.
Referenced by tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::internal_copy(), and tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::internal_move().
|
inline |
Resize the vector. Not thread-safe.
Definition at line 916 of file concurrent_vector.h.
|
inline |
Resize the vector, copy t for new elements. Not thread-safe.
Definition at line 921 of file concurrent_vector.h.
| void tbb::concurrent_vector< T, A >::shrink_to_fit | ( | ) |
Optimize memory usage and fragmentation.
Definition at line 1183 of file concurrent_vector.h.
|
inline |
Return size of vector. It may include elements under construction.
Definition at line 896 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::back(), tbb::concurrent_vector< padded_element, padded_allocator_type >::cend(), tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::end(), tbb::concurrent_vector< padded_element, padded_allocator_type >::end(), tbb::concurrent_vector< padded_element, padded_allocator_type >::front(), tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::internal_copy(), tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::internal_move(), and tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::size().
|
inline |
swap two instances
Definition at line 1004 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::swap().
|
friend |
Definition at line 562 of file concurrent_vector.h.