Loading...
Searching...
No Matches
decaf::FixedArrayBuffer< Size > Class Template Reference

A fixed-size stack-allocated buffer (for DECAF_NOEXCEPT semantics) More...

`#include <secure_buffer.hxx>`

Inheritance diagram for decaf::FixedArrayBuffer< Size >:

## 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.
Public Member Functions inherited from decaf::FixedBuffer< Size >
| 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.
Public Member Functions inherited from decaf::Buffer
| 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.
Public Member Functions inherited from decaf::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.

## Detailed Description

template<size_t Size>
class decaf::FixedArrayBuffer< Size >

A fixed-size stack-allocated buffer (for DECAF_NOEXCEPT semantics)

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

- src/GENERATED/include/decaf/secure_buffer.hxx