libdecaf
Public Member Functions | List of all members
decaf::Block Class Reference

A reference to a block of data, which (when accessed through this base class) is const. More...

Inheritance diagram for decaf::Block:
decaf::Buffer decaf::FixedBlock< Size > decaf::FixedBuffer< Size > decaf::FixedArrayBuffer< Size >

Public Member Functions

 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. More...
 
 operator SecureBuffer () const
 Create new block from this.
 
void zeroize () DECAF_NOEXCEPT
 Securely set the buffer to 0. More...
 
void debug_print_hex (const char *name=NULL)
 Debugging print in hex.
 

Detailed Description

A reference to a block of data, which (when accessed through this base class) is const.

Member Function Documentation

◆ contents_equal()

decaf_bool_t decaf::Block::contents_equal ( const Block b) const
inline

Content-wise comparison; constant-time if they are the same length.

◆ zeroize()

void decaf::Block::zeroize ( )
inline

Securely set the buffer to 0.


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