tbb::concurrent_vector< T, A >::push_back_helper Struct Reference
Inheritance diagram for tbb::concurrent_vector< T, A >::push_back_helper:
Collaboration diagram for tbb::concurrent_vector< T, A >::push_back_helper:

## Classes

struct | element_construction_guard

## Public Member Functions

| push_back_helper (concurrent_vector &vector)
pointer | internal_push_back_result ()
iterator | return_iterator_and_dismiss ()
Public Member Functions inherited from tbb::internal::no_copy
| no_copy (const no_copy &)=delete
| no_copy ()=default

## Public Attributes

concurrent_vector & | v
size_type | k
element_construction_guard | g

## Detailed Description

### template<typename T, class A>
struct tbb::concurrent_vector< T, A >::push_back_helper

Definition at line 1138 of file concurrent_vector.h.

## Constructor & Destructor Documentation

## push_back_helper()

template<typename T , class A >

tbb::concurrent_vector< T, A >::push_back_helper::push_back_helper | ( | concurrent_vector & | vector | ) |

inline

Definition at line 1155 of file concurrent_vector.h.

:
v(vector),
g (static_cast<T*>(v.internal_push_back(sizeof(T),k)))
{}
tbb::internal::concurrent_vector_base_v3::internal_push_back
void *__TBB_EXPORTED_METHOD internal_push_back(size_type element_size, size_type &index)
Definition: concurrent_vector.cpp:418
tbb::concurrent_vector::push_back_helper::v
concurrent_vector & v
Definition: concurrent_vector.h:1151
tbb::concurrent_vector::push_back_helper::g
element_construction_guard g
Definition: concurrent_vector.h:1153
tbb::concurrent_vector::push_back_helper::k
size_type k
Definition: concurrent_vector.h:1152

## Member Function Documentation

## internal_push_back_result()

template<typename T , class A >

pointer tbb::concurrent_vector< T, A >::push_back_helper::internal_push_back_result | ( |  | ) |

inline

Definition at line 1160 of file concurrent_vector.h.

{ return g.element;}
tbb::concurrent_vector::push_back_helper::element_construction_guard::element
pointer element
Definition: concurrent_vector.h:1140

References tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard::element, and tbb::concurrent_vector< T, A >::push_back_helper::g.

Referenced by tbb::concurrent_vector< T, A >::emplace_back(), and tbb::concurrent_vector< T, A >::push_back().

Here is the caller graph for this function:

## return_iterator_and_dismiss()

template<typename T , class A >

iterator tbb::concurrent_vector< T, A >::push_back_helper::return_iterator_and_dismiss | ( |  | ) |

inline

Definition at line 1161 of file concurrent_vector.h.

{
pointer ptr = g.element;
g.dismiss();
return iterator(v, k, ptr);
}
tbb::concurrent_vector::iterator
internal::vector_iterator< concurrent_vector, T > iterator
Definition: concurrent_vector.h:584
tbb::concurrent_vector::pointer
T * pointer
Definition: concurrent_vector.h:581
tbb::concurrent_vector::push_back_helper::element_construction_guard::dismiss
void dismiss()
Definition: concurrent_vector.h:1143

References tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard::dismiss(), tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard::element, tbb::concurrent_vector< T, A >::push_back_helper::g, tbb::concurrent_vector< T, A >::push_back_helper::k, and tbb::concurrent_vector< T, A >::push_back_helper::v.

Referenced by tbb::concurrent_vector< T, A >::emplace_back(), and tbb::concurrent_vector< T, A >::push_back().

Here is the call graph for this function:
Here is the caller graph for this function:

## Member Data Documentation

## g

template<typename T , class A >

element_construction_guard tbb::concurrent_vector< T, A >::push_back_helper::g

Definition at line 1153 of file concurrent_vector.h.

Referenced by tbb::concurrent_vector< T, A >::push_back_helper::internal_push_back_result(), and tbb::concurrent_vector< T, A >::push_back_helper::return_iterator_and_dismiss().

## k

template<typename T , class A >

size_type tbb::concurrent_vector< T, A >::push_back_helper::k

Definition at line 1152 of file concurrent_vector.h.

Referenced by tbb::concurrent_vector< T, A >::push_back_helper::return_iterator_and_dismiss().

## v

template<typename T , class A >

concurrent_vector& tbb::concurrent_vector< T, A >::push_back_helper::v

Definition at line 1151 of file concurrent_vector.h.

Referenced by tbb::concurrent_vector< T, A >::push_back_helper::return_iterator_and_dismiss().

The documentation for this struct was generated from the following file:

- concurrent_vector.h

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.