libdecaf
|
A fixed-size stack-allocated buffer (for DECAF_NOEXCEPT semantics) More...
#include <secure_buffer.hxx>
Public Member Functions | |
FixedArrayBuffer () DECAF_NOEXCEPT | |
New buffer initialized to zero. | |
FixedArrayBuffer (const NOINIT &) DECAF_NOEXCEPT | |
New uninitialized buffer. | |
FixedArrayBuffer (Rng &r) DECAF_NOEXCEPT | |
New random buffer. | |
FixedArrayBuffer (const FixedBlock< Size > &b) DECAF_NOEXCEPT | |
Copy constructor. | |
FixedArrayBuffer & | operator= (const FixedBlock< Size > &b) DECAF_NOEXCEPT |
Copy operator. | |
FixedArrayBuffer & | operator= (const FixedArrayBuffer< Size > &b) DECAF_NOEXCEPT |
Copy operator. | |
FixedArrayBuffer & | operator= (const Block &b) |
Copy operator. | |
FixedArrayBuffer (const Block &b) | |
Copy constructor. | |
FixedArrayBuffer (const FixedArrayBuffer< Size > &b) DECAF_NOEXCEPT | |
Copy constructor. | |
~FixedArrayBuffer () DECAF_NOEXCEPT | |
Destroy the buffer. | |
![]() | |
FixedBuffer (Buffer b) | |
Check a block's length. | |
FixedBuffer (SecureBuffer &b) | |
Check a block's length. | |
FixedBuffer (uint8_t dat[Size], bool zero_on_destroy=false) DECAF_NOEXCEPT | |
Explicitly pass a C buffer. | |
operator FixedBlock< Size > () const DECAF_NOEXCEPT | |
Cast to a FixedBlock. | |
![]() | |
Buffer () DECAF_NOEXCEPT | |
Null init. | |
Buffer (unsigned char *data, size_t size, bool zero_on_destroy=false) DECAF_NOEXCEPT | |
Unowned init. | |
template<class alloc > | |
Buffer (std::vector< unsigned char, alloc > &s) | |
Block from std::vector. | |
const unsigned char * | data () const DECAF_NOEXCEPT |
Get const data. | |
unsigned char * | data () DECAF_NOEXCEPT |
Cast to unsigned char. | |
Buffer | slice (size_t off, size_t length) |
Slice the buffer. | |
unsigned char & | operator[] (size_t off) |
Subscript. | |
void | assign (const Block b) |
Copy from another block. | |
![]() | |
Block () | |
Null initialization. | |
Block (const char *data) DECAF_NOEXCEPT | |
Init from C string. | |
Block (const unsigned char *data, size_t size, bool zero_on_destroy=false) DECAF_NOEXCEPT | |
Unowned init. | |
Block (const std::string &s) | |
Block from std::string. | |
template<class alloc > | |
Block (const std::vector< unsigned char, alloc > &s) | |
Block from std::vector. | |
const unsigned char * | data () const DECAF_NOEXCEPT |
Get const data. | |
const unsigned char & | operator[] (size_t off) const |
Subscript. | |
size_t | size () const DECAF_NOEXCEPT |
Get the size. | |
std::string | get_string () const |
Convert to C++ string. | |
Block | slice (size_t off, size_t length) const |
Slice the buffer. | |
decaf_bool_t | contents_equal (const Block &b) const DECAF_NOEXCEPT |
Content-wise comparison; constant-time if they are the same length. | |
operator SecureBuffer () const | |
Create new block from this. | |
void | zeroize () DECAF_NOEXCEPT |
Securely set the buffer to 0. | |
void | debug_print_hex (const char *name=NULL) |
Debugging print in hex. | |
A fixed-size stack-allocated buffer (for DECAF_NOEXCEPT semantics)