Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
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_vectorv
 
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.

1155  :
1156  v(vector),
1157  g (static_cast<T*>(v.internal_push_back(sizeof(T),k)))
1158  {}

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

◆ 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.

1161  {
1162  pointer ptr = g.element;
1163  g.dismiss();
1164  return iterator(v, k, ptr);
1165  }

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.

Here is the call graph for this function:

Member Data Documentation

◆ g

◆ k

template<typename T , class A >
size_type tbb::concurrent_vector< T, A >::push_back_helper::k

◆ v

template<typename T , class A >
concurrent_vector& tbb::concurrent_vector< T, A >::push_back_helper::v

The documentation for this struct was generated from the following file:
tbb::concurrent_vector::push_back_helper::k
size_type k
Definition: concurrent_vector.h:1152
tbb::concurrent_vector::push_back_helper::element_construction_guard::dismiss
void dismiss()
Definition: concurrent_vector.h:1143
tbb::concurrent_vector::push_back_helper::element_construction_guard::element
pointer element
Definition: concurrent_vector.h:1140
tbb::concurrent_vector::push_back_helper::v
concurrent_vector & v
Definition: concurrent_vector.h:1151
tbb::concurrent_vector::iterator
internal::vector_iterator< concurrent_vector, T > iterator
Definition: concurrent_vector.h:584
tbb::concurrent_vector::push_back_helper::g
element_construction_guard g
Definition: concurrent_vector.h:1153
tbb::concurrent_vector::pointer
T * pointer
Definition: concurrent_vector.h:581

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.