Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::aligned_space< T, N > Class Template Reference

Block of space aligned sufficiently to construct an array T with N elements. More...

#include <aligned_space.h>

Inheritance diagram for tbb::aligned_space< T, N >:
Collaboration diagram for tbb::aligned_space< T, N >:

Public Member Functions

T * begin () const
 Pointer to beginning of array. More...
 
T * end () const
 Pointer to one past last element in array. More...
 

Private Member Functions

typedef __TBB_TypeWithAlignmentAtLeastAsStrict (T) element_type
 

Private Attributes

element_type array [(sizeof(T) *N+sizeof(element_type) -1)/sizeof(element_type)]
 

Detailed Description

template<typename T, size_t N = 1>
class tbb::aligned_space< T, N >

Block of space aligned sufficiently to construct an array T with N elements.

The elements are not constructed or destroyed by this class.

Definition at line 33 of file aligned_space.h.

Member Function Documentation

◆ __TBB_TypeWithAlignmentAtLeastAsStrict()

template<typename T, size_t N = 1>
typedef tbb::aligned_space< T, N >::__TBB_TypeWithAlignmentAtLeastAsStrict ( )
private

◆ begin()

template<typename T, size_t N = 1>
T* tbb::aligned_space< T, N >::begin ( ) const
inline

Pointer to beginning of array.

Definition at line 39 of file aligned_space.h.

39 {return internal::punned_cast<T*>(this);}

Referenced by tbb::interface9::internal::range_vector< T, MaxCapacity >::back(), tbb::interface7::internal::delegated_function< F, R >::consume_result(), tbb::aligned_space< Body >::end(), tbb::interface9::internal::finish_reduce< Body >::execute(), tbb::internal::final_sum< Range, Body >::execute(), tbb::interface9::internal::start_reduce< Range, Body, Partitioner >::execute(), tbb::interface9::internal::do_group_task_input< Body, Item >::execute(), tbb::internal::final_sum< Range, Body >::finish_construction(), tbb::interface9::internal::range_vector< T, MaxCapacity >::front(), tbb::mutex::lock(), tbb::spin_mutex::lock(), tbb::recursive_mutex::lock(), tbb::interface7::internal::delegated_function< F, R >::operator()(), tbb::interface9::internal::range_vector< T, MaxCapacity >::pop_back(), tbb::interface9::internal::range_vector< T, MaxCapacity >::pop_front(), tbb::interface9::internal::range_vector< T, MaxCapacity >::range_vector(), tbb::interface9::internal::range_vector< T, MaxCapacity >::split_to_fill(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::node::storage(), tbb::spin_mutex::try_lock(), tbb::mutex::try_lock(), tbb::recursive_mutex::try_lock(), tbb::spin_mutex::unlock(), tbb::mutex::unlock(), tbb::recursive_mutex::unlock(), tbb::interface7::internal::delegated_function< F, R >::~delegated_function(), tbb::interface9::internal::do_group_task_input< Body, Item >::~do_group_task_input(), tbb::internal::final_sum< Range, Body >::~final_sum(), and tbb::interface9::internal::finish_reduce< Body >::~finish_reduce().

Here is the caller graph for this function:

◆ end()

template<typename T, size_t N = 1>
T* tbb::aligned_space< T, N >::end ( ) const
inline

Pointer to one past last element in array.

Definition at line 42 of file aligned_space.h.

42 {return begin()+N;}
T * begin() const
Pointer to beginning of array.
Definition: aligned_space.h:39

Member Data Documentation

◆ array

template<typename T, size_t N = 1>
element_type tbb::aligned_space< T, N >::array[(sizeof(T) *N+sizeof(element_type) -1)/sizeof(element_type)]
private

Definition at line 36 of file aligned_space.h.


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

Copyright © 2005-2019 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.