vSMC  v3.0.0
Scalable Monte Carlo
Classes | Namespaces | Macros | Typedefs | Functions
aligned_memory.hpp File Reference
#include <vsmc/internal/basic.hpp>
#include <stdlib.h>
#include <tbb/scalable_allocator.h>

Go to the source code of this file.

Classes

class  vsmc::AlignedMemorySTD
 Aligned memory using std::malloc and std::free More...
 
class  vsmc::AlignedMemorySYS
 Aligned memory using native system aligned memory allocation. More...
 
class  vsmc::AlignedMemoryTBB
 Aligned memory using Intel TBB scalable_aligned_malloc and scalable_aligned_free. More...
 
class  vsmc::AlignmentTrait< T >
 Alignment of a given type. More...
 
class  vsmc::Allocator< T, Alignment, Memory >
 Aligned allocator. More...
 
class  vsmc::Allocator< T, Alignment, Memory >::rebind< U >
 
class  vsmc::Allocator< const void, Alignment, Memory >
 Aligned allocator specialization of const void More...
 
class  vsmc::Allocator< void, Alignment, Memory >
 Aligned allocator specialization of void More...
 
class  vsmc::Array< T, N, Alignment >
 std::array with proper alignment More...
 
class  vsmc::internal::AlignmentTraitImpl< T, bool >
 
class  vsmc::internal::AlignmentTraitImpl< T, true >
 
class  vsmc::internal::AllocatorAlignment< Alloc >
 
class  vsmc::internal::AllocatorAlignment< Allocator< T, Alignment, Memory > >
 

Namespaces

 vsmc
 
 vsmc::internal
 

Macros

#define VSMC_ALIGNED_MEMORY_TYPE   ::vsmc::AlignedMemoryTBB
 Default AlignedMemory type. More...
 
#define VSMC_ALIGNMENT   32
 The default alignment for scalar type. More...
 
#define VSMC_ALIGNMENT_MIN   16
 The minimum alignment for any type. More...
 
#define VSMC_CONSTRUCT_SCALAR   0
 Allocator::construct default behavior for scalar type. More...
 
#define VSMC_DEFINE_NEW_DELETE(Class)
 Define class member new and delete using AlignedMemory. More...
 

Typedefs

using vsmc::AlignedMemory = ::vsmc::AlignedMemoryTBB
 Default AlignedMemory type. More...
 
template<typename T , typename Alloc = Allocator<T>>
using vsmc::Vector = std::vector< T, Alloc >
 std::vector with Allocator as default allocator More...
 

Functions

template<typename T1 , typename T2 , std::size_t Alignment, typename Memory >
bool vsmc::operator!= (const Allocator< T1, Alignment, Memory > &, const Allocator< T2, Alignment, Memory > &)
 Comparision of two Allocator. More...
 
template<typename T1 , typename T2 , std::size_t Alignment, typename Memory >
bool vsmc::operator== (const Allocator< T1, Alignment, Memory > &, const Allocator< T2, Alignment, Memory > &)
 Comparision of two Allocator. More...
 

Macro Definition Documentation

#define VSMC_CONSTRUCT_SCALAR   0

Allocator::construct default behavior for scalar type.

Definition at line 78 of file aligned_memory.hpp.