vSMC
vSMC: Scalable Monte Carlo
Classes | Typedefs
Memory alignment

Memory allocation with alignment requirement. More...

Classes

class  vsmc::AlignedAllocator< T, Alignment, Memory >
 Aligned allocator. More...
 
class  vsmc::AlignedMemoryMKL
 Aligned memory using Intel MKL mkl_malloc and mkl_free More...
 
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...
 

Typedefs

using vsmc::AlignedMemory = ::vsmc::AlignedMemoryTBB
 Default AlignedMemory type. More...
 
template<typename T >
using vsmc::AlignedVector = std::vector< T, AlignedAllocator< T >>
 Vector type using AlignedAllocator. More...
 
template<typename T >
using vsmc::Allocator = typename std::conditional< std::is_scalar< T >::value, AlignedAllocator< T >, std::allocator< T >>::type
 AlignedAllocator for scalar type and std::allocator for others. More...
 
template<typename T >
using vsmc::Vector = typename std::conditional< std::is_scalar< T >::value, std::vector< T, AlignedAllocator< T >>, std::vector< T >>::type
 AlignedVector for scalar type and std::vector for others. More...
 

Detailed Description

Memory allocation with alignment requirement.

Typedef Documentation

Default AlignedMemory type.

Definition at line 252 of file aligned_memory.hpp.

template<typename T >
using vsmc::AlignedVector = typedef std::vector<T, AlignedAllocator<T>>

Vector type using AlignedAllocator.

Definition at line 344 of file aligned_memory.hpp.

template<typename T >
using vsmc::Allocator = typedef typename std::conditional<std::is_scalar<T>::value, AlignedAllocator<T>, std::allocator<T>>::type

AlignedAllocator for scalar type and std::allocator for others.

Definition at line 339 of file aligned_memory.hpp.

template<typename T >
using vsmc::Vector = typedef typename std::conditional<std::is_scalar<T>::value, std::vector<T, AlignedAllocator<T>>, std::vector<T>>::type

AlignedVector for scalar type and std::vector for others.

Definition at line 350 of file aligned_memory.hpp.