Security Scol plugin
Classes | Macros | Typedefs | Functions | Variables
secblock.h File Reference

Classes and functions for secure memory allocations. More...

#include "config.h"
#include "allocate.h"
#include "misc.h"
#include "stdcpp.h"

Go to the source code of this file.

Classes

class  AllocatorBase< T >
 Base class for all allocators used by SecBlock. More...
 
class  AllocatorWithCleanup< T, T_Align16 >
 Allocates a block of memory with cleanup. More...
 
struct  AllocatorWithCleanup< T, T_Align16 >::rebind< V >
 Template class member Rebind. More...
 
class  NullAllocator< T >
 NULL allocator. More...
 
class  FixedSizeAllocatorWithCleanup< T, S, A, T_Align16 >
 Static secure memory block with cleanup. More...
 
class  FixedSizeAllocatorWithCleanup< T, S, A, true >
 Static secure memory block with cleanup. More...
 
class  FixedSizeAllocatorWithCleanup< T, S, A, false >
 Static secure memory block with cleanup. More...
 
class  SecBlock< T, A >
 Secure memory block with allocator and cleanup. More...
 
class  FixedSizeSecBlock< T, S, A >
 Fixed size stack-based SecBlock. More...
 
class  FixedSizeAlignedSecBlock< T, S, T_Align16 >
 Fixed size stack-based SecBlock with 16-byte alignment. More...
 
class  SecBlockWithHint< T, S, A >
 Stack-based SecBlock that grows into the heap. More...
 

Macros

#define CRYPTOPP_INHERIT_ALLOCATOR_TYPES(T_type)
 

Typedefs

typedef SecBlock< byteSecByteBlock
 
typedef SecBlock< word > SecWordBlock
 
typedef SecBlock< byte, AllocatorWithCleanup< byte, true > > AlignedSecByteBlock
 

Functions

template<class T , class A >
A::pointer StandardReallocate (A &alloc, T *oldPtr, typename A::size_type oldSize, typename A::size_type newSize, bool preserve)
 Reallocation function.
 
template<class T , bool A, class V , bool B>
bool operator== (const CryptoPP::AllocatorWithCleanup< T, A > &, const CryptoPP::AllocatorWithCleanup< V, B > &)
 
template<class T , bool A, class V , bool B>
bool operator!= (const CryptoPP::AllocatorWithCleanup< T, A > &, const CryptoPP::AllocatorWithCleanup< V, B > &)
 
template<class T , class A >
NAMESPACE_END void swap (CryptoPP::SecBlock< T, A > &a, CryptoPP::SecBlock< T, A > &b)
 Swap two SecBlocks.
 

Variables

CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup< byte >
 
CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup< word16 >
 
CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup< word32 >
 
CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup< word64 >
 

Detailed Description

Classes and functions for secure memory allocations.

Definition in file secblock.h.

Macro Definition Documentation

◆ CRYPTOPP_INHERIT_ALLOCATOR_TYPES

#define CRYPTOPP_INHERIT_ALLOCATOR_TYPES (   T_type)
Value:
typedef typename AllocatorBase<T_type>::value_type value_type;\
typedef typename AllocatorBase<T_type>::size_type size_type;\
typedef typename AllocatorBase<T_type>::difference_type difference_type;\
typedef typename AllocatorBase<T_type>::pointer pointer;\
typedef typename AllocatorBase<T_type>::const_pointer const_pointer;\
typedef typename AllocatorBase<T_type>::reference reference;\
typedef typename AllocatorBase<T_type>::const_reference const_reference;

Definition at line 129 of file secblock.h.

Typedef Documentation

◆ AlignedSecByteBlock

Definition at line 1234 of file secblock.h.

◆ SecByteBlock

Definition at line 1232 of file secblock.h.

◆ SecWordBlock

typedef SecBlock<word> SecWordBlock

Definition at line 1233 of file secblock.h.

Function Documentation

◆ operator!=()

template<class T , bool A, class V , bool B>
bool operator!= ( const CryptoPP::AllocatorWithCleanup< T, A > &  ,
const CryptoPP::AllocatorWithCleanup< V, B > &   
)
inline

Definition at line 1277 of file secblock.h.

◆ operator==()

template<class T , bool A, class V , bool B>
bool operator== ( const CryptoPP::AllocatorWithCleanup< T, A > &  ,
const CryptoPP::AllocatorWithCleanup< V, B > &   
)
inline

Definition at line 1275 of file secblock.h.

◆ StandardReallocate()

template<class T , class A >
A::pointer StandardReallocate ( A &  alloc,
T *  oldPtr,
typename A::size_type  oldSize,
typename A::size_type  newSize,
bool  preserve 
)

Reallocation function.

Template Parameters
Tthe class or type
Athe class or type's allocator
Parameters
allocthe allocator
oldPtrthe previous allocation
oldSizethe size of the previous allocation
newSizethe new, requested size
preserveflag that indicates if the old allocation should be preserved
Note
oldSize and newSize are the count of elements, and not the number of bytes.

Definition at line 149 of file secblock.h.

◆ swap()

template<class T , class A >
NAMESPACE_END void swap ( CryptoPP::SecBlock< T, A > &  a,
CryptoPP::SecBlock< T, A > &  b 
)
inline

Swap two SecBlocks.

Template Parameters
Tclass or type
AAllocatorBase derived class for allocation and cleanup
Parameters
athe first SecBlock
bthe second SecBlock

Definition at line 1289 of file secblock.h.

Variable Documentation

◆ AllocatorWithCleanup< byte >

CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup< byte >

Definition at line 279 of file secblock.h.

◆ AllocatorWithCleanup< word16 >

CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup< word16 >

Definition at line 280 of file secblock.h.

◆ AllocatorWithCleanup< word32 >

CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup< word32 >

Definition at line 281 of file secblock.h.

◆ AllocatorWithCleanup< word64 >

CRYPTOPP_DLL_TEMPLATE_CLASS AllocatorWithCleanup< word64 >

Definition at line 282 of file secblock.h.