Intel® oneAPI Threading Building Blocks Developer Guide and API Reference
Concurrent growth
All member functions in this section can be performed concurrently with each other, element access methods and while traversing the container.
grow_by
iterator grow_by( size_type delta );
Appends a sequence comprising delta new default-constructed in-place elements to the end of the vector.
Returns: iterator to the beginning of the appended sequence.
Requirements: the type value_type must meet the DefaultConstructible and EmplaceConstructible requirements from [defaultconstructible] and [container.requirements] ISO C++ sections.
iterator grow_by( size_type delta, const value_type& value );
Appends a sequence comprising delta copies of value to the end of the vector.
Returns: iterator to the beginning of the appended sequence.
Requirements: the type value_type must meet the CopyInsertable requirements from the [container.requirements] ISO C++ Standard section.
template <typename InputIterator>
iterator grow_by( InputIterator first, InputIterator last );
Appends a sequence comprising all elements from the half-open interval [first, last) to the end of the vector.
Returns: iterator to the beginning of the appended sequence.
This overload participates in overload resolution only if the type InputIterator meets the requirements of InputIterator from the [input.iterators] ISO C++ Standard section.
iterator grow_by( std::initializer_list<value_type> init );
Equivalent to grow_by(init.begin(), init.end()).
grow_to_at_least
iterator grow_to_at_least( size_type n );
Appends minimal sequence of default constructed in-place elements such that size() >= n.
Returns: iterator to the beginning of the appended sequence.
Requirements: the type value_type must meet the DefaultConstructible and EmplaceConstructible requirements from [defaultconstructible] and [container.requirements] ISO C++ sections.
iterator grow_to_at_least( size_type n, const value_type& value );
Appends minimal sequence of comprising copies of value such that size() >= n.
Returns: iterator to the beginning of the appended sequence.
Requirements: the type value_type must meet the CopyInsertable requirements from the [container.requirements] ISO C++ Standard section.
push_back
iterator push_back( const value_type& value );
Appends a copy of value to the end of the vector.
Returns: iterator to the appended element.
Requirements: the type value_type must meet the CopyInsertable requirements from the [container.requirements] ISO C++ Standard section.
iterator push_back( value_type&& value );
Appends value to the end of the vector using move semantics.
value is left in a valid, but unspecified state.
Returns: iterator to the appended element.
Requirements: the type value_type must meet the MoveInsertable requirements from the [container.requirements] ISO C++ Standard section.
emplace_back
template <typename... Args>
iterator emplace_back( Args&&... args );
Appends an element constructed in-place from args to the end of the vector.
Returns: iterator to the appended element.
Requirements: the type value_type must meet the EmplaceConstructible requirements from the [container.requirements] ISO C++ section.