vSMC
vSMC: Scalable Monte Carlo
|
Aligned allocator. More...
#include <vsmc/utility/aligned_memory.hpp>
Classes | |
struct | rebind |
Public Types | |
typedef std::allocator< T >::pointer | pointer |
typedef std::allocator< T >::size_type | size_type |
Public Member Functions | |
AlignedAllocator () | |
AlignedAllocator (const AlignedAllocator< T, Alignment > &other) | |
template<typename U > | |
AlignedAllocator (const AlignedAllocator< U, Alignment > &other) | |
~AlignedAllocator () | |
pointer | allocate (size_type n, const void *=nullptr) |
void | deallocate (pointer ptr, size_type) |
Aligned allocator.
T | The value type |
Alignment | The alignment requirement of memory, must be a power of two and no less than sizeof(void *) . |
Memory | The memory management class. Must provides two member functions, aligned_malloc and aligned_free . The member function aligned_malloc shall behave similar to std::malloc but take an additional arguments for alignment. The member function aligned_free shall behave just like std::free . |
Definition at line 254 of file aligned_memory.hpp.
typedef std::allocator<T>::pointer vsmc::AlignedAllocator< T, Alignment, Memory >::pointer |
Definition at line 259 of file aligned_memory.hpp.
typedef std::allocator<T>::size_type vsmc::AlignedAllocator< T, Alignment, Memory >::size_type |
Definition at line 258 of file aligned_memory.hpp.
|
inline |
Definition at line 264 of file aligned_memory.hpp.
|
inline |
Definition at line 266 of file aligned_memory.hpp.
|
inline |
Definition at line 271 of file aligned_memory.hpp.
|
inline |
Definition at line 275 of file aligned_memory.hpp.
|
inline |
Definition at line 277 of file aligned_memory.hpp.
|
inline |
Definition at line 283 of file aligned_memory.hpp.