Intel HEXL
Intel Homomorphic Encryption Acceleration Library, accelerating the modular arithmetic operations used in homomorphic encryption.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Friends | List of all members
intel::hexl::AlignedAllocator< T, Alignment > Class Template Reference

Allocates memory aligned to Alignment-byte sized boundaries. More...

#include <aligned-allocator.hpp>

Classes

struct  rebind
 

Public Types

using value_type = T
 

Public Member Functions

 AlignedAllocator (AllocatorStrategyPtr strategy=nullptr) noexcept
 
 AlignedAllocator (const AlignedAllocator &src)
 
template<typename U >
 AlignedAllocator (const AlignedAllocator< U, Alignment > &src)
 
 ~AlignedAllocator ()
 
bool operator== (const AlignedAllocator &)
 
bool operator!= (const AlignedAllocator &)
 
T * allocate (size_t n)
 Allocates n elements aligned to Alignment-byte boundaries. More...
 
void deallocate (T *p, size_t n)
 

Friends

template<typename , uint64_t >
class AlignedAllocator
 

Detailed Description

template<typename T, uint64_t Alignment>
class intel::hexl::AlignedAllocator< T, Alignment >

Allocates memory aligned to Alignment-byte sized boundaries.

Alignment must be a power of two

Member Typedef Documentation

◆ value_type

template<typename T, uint64_t Alignment>
using intel::hexl::AlignedAllocator< T, Alignment >::value_type = T

Constructor & Destructor Documentation

◆ AlignedAllocator() [1/3]

template<typename T, uint64_t Alignment>
intel::hexl::AlignedAllocator< T, Alignment >::AlignedAllocator ( AllocatorStrategyPtr  strategy = nullptr)
inlineexplicitnoexcept

◆ AlignedAllocator() [2/3]

template<typename T, uint64_t Alignment>
intel::hexl::AlignedAllocator< T, Alignment >::AlignedAllocator ( const AlignedAllocator< T, Alignment > &  src)
inline

◆ AlignedAllocator() [3/3]

template<typename T, uint64_t Alignment>
template<typename U >
intel::hexl::AlignedAllocator< T, Alignment >::AlignedAllocator ( const AlignedAllocator< U, Alignment > &  src)
inline

◆ ~AlignedAllocator()

template<typename T, uint64_t Alignment>
intel::hexl::AlignedAllocator< T, Alignment >::~AlignedAllocator ( )
inline

Member Function Documentation

◆ allocate()

template<typename T, uint64_t Alignment>
T* intel::hexl::AlignedAllocator< T, Alignment >::allocate ( size_t  n)
inline

Allocates n elements aligned to Alignment-byte boundaries.

Returns
Pointer to the aligned allocated memory

◆ deallocate()

template<typename T, uint64_t Alignment>
void intel::hexl::AlignedAllocator< T, Alignment >::deallocate ( T *  p,
size_t  n 
)
inline

◆ operator!=()

template<typename T, uint64_t Alignment>
bool intel::hexl::AlignedAllocator< T, Alignment >::operator!= ( const AlignedAllocator< T, Alignment > &  )
inline

◆ operator==()

template<typename T, uint64_t Alignment>
bool intel::hexl::AlignedAllocator< T, Alignment >::operator== ( const AlignedAllocator< T, Alignment > &  )
inline

Friends And Related Function Documentation

◆ AlignedAllocator

template<typename T, uint64_t Alignment>
template<typename , uint64_t >
friend class AlignedAllocator
friend

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