21 #ifndef __TBB_cache_aligned_allocator_H 22 #define __TBB_cache_aligned_allocator_H 26 #if __TBB_ALLOCATOR_CONSTRUCT_VARIADIC 49 #if _MSC_VER && !defined(__INTEL_COMPILER) 51 #pragma warning (push) 52 #pragma warning (disable: 4100) 97 #if __TBB_ALLOCATOR_CONSTRUCT_VARIADIC 98 template<
typename U,
typename... Args>
100 { ::new((
void *)
p) U(std::forward<Args>(args)...); }
101 #else // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC 102 #if __TBB_CPP11_RVALUE_REF_PRESENT 106 #endif // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC 112 #if _MSC_VER && !defined(__INTEL_COMPILER) 113 #pragma warning (pop) 114 #endif // warning 4100 is back 124 template<
typename U>
struct rebind {
129 template<
typename T,
typename U>
132 template<
typename T,
typename U>
size_type max_size() const
Largest value for which method allocate might succeed.
const_pointer address(const_reference x) const
cache_aligned_allocator< U > other
#define __TBB_EXPORTED_FUNC
const size_t NFS_MaxLineSize
Compile-time constant that is upper bound on cache line/sector size.
bool operator==(const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &)
Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.
pointer address(reference x) const
void deallocate(pointer p, size_type)
Free block of memory that starts on a cache line.
void const char const char int ITT_FORMAT __itt_group_sync p
internal::allocator_type< T >::value_type value_type
size_t __TBB_EXPORTED_FUNC NFS_GetLineSize()
Cache/sector line size.
cache_aligned_allocator< U > other
cache_aligned_allocator()
const value_type * const_pointer
cache_aligned_allocator(const cache_aligned_allocator &)
void move(tbb_thread &t1, tbb_thread &t2)
void *__TBB_EXPORTED_FUNC NFS_Allocate(size_t n_element, size_t element_size, void *hint)
Allocate memory on cache/sector line boundary.
const value_type & const_reference
void destroy(pointer p)
Destroy value at location pointed to by p.
const void * const_pointer
bool operator!=(const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &)
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value
void __TBB_EXPORTED_FUNC NFS_Free(void *)
Free memory allocated by NFS_Allocate.
pointer allocate(size_type n, const void *hint=0)
Allocate space for n objects, starting on a cache/sector line.
ptrdiff_t difference_type
cache_aligned_allocator(const cache_aligned_allocator< U > &)
void construct(U *p, Args &&... args)
Copy-construct value at location pointed to by p.