Crypto++
5.6.4
Free C++ class library of cryptographic schemes
|
Base class for all allocators used by SecBlock. More...
Public Types | |
typedef T | value_type |
typedef size_t | size_type |
typedef std::ptrdiff_t | difference_type |
typedef T * | pointer |
typedef T & | reference |
Public Member Functions | |
pointer | address (reference r) const |
const_pointer | address (const_reference r) const |
void | construct (pointer p, const T &val) |
void | destroy (pointer p) |
size_type | max_size () const |
Returns the maximum number of elements the allocator can provide. More... | |
template<typename U , typename... Args> | |
void | construct (U *ptr, Args &&... args) |
Constructs a new U using variadic arguments. More... | |
template<typename U > | |
void | destroy (U *ptr) |
Destroys an U constructed with variadic arguments. More... | |
Public Attributes | |
const typedef T * | const_pointer |
const typedef T & | const_reference |
Base class for all allocators used by SecBlock.
T | the class or type |
Definition at line 29 of file secblock.h.
|
inline |
Returns the maximum number of elements the allocator can provide.
Internally, preprocessor macros are used rather than std::numeric_limits because the latter is not a constexpr. Some compilers, like Clang, do not optimize it well under all circumstances. Compilers like GCC, ICC and MSVC appear to optimize it well in either form.
Definition at line 55 of file secblock.h.
|
inline |
Constructs a new U using variadic arguments.
U | the type to be forwarded |
Args | the arguments to be forwarded |
ptr | pointer to type U |
args | variadic arguments |
This is a C++11 feature. It is available when CRYPTOPP_CXX11_VARIADIC_TEMPLATES is defined. The define is controlled by compiler versions detected in config.h.
Definition at line 67 of file secblock.h.
Destroys an U constructed with variadic arguments.
U | the type to be forwarded |
This is a C++11 feature. It is available when CRYPTOPP_CXX11_VARIADIC_TEMPLATES is defined. The define is controlled by compiler versions detected in config.h.
Definition at line 74 of file secblock.h.