libdecaf
|
A reference to a writable block of data. More...
#include <secure_buffer.hxx>
Public Member Functions | |
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 reference to a writable block of data.