libfilezilla
Loading...
Searching...
No Matches
secure_buffer Class Referencefinal

#include <buffer.hpp>

Inheritance diagram for secure_buffer:
Collaboration diagram for secure_buffer:

Public Member Functions

 basic_buffer () noexcept=default
 basic_buffer (size_t capacity)
 Initially reserves the passed capacity.
 basic_buffer (std::string_view const &data)
 basic_buffer (basic_buffer const &buf)
 basic_buffer (basic_buffer &&buf) noexcept
basic_buffer & operator= (basic_buffer const &buf)
basic_buffer & operator= (basic_buffer &&buf) noexcept
basic_buffer & operator= (std::string_view const &v)
Public Member Functions inherited from basic_buffer< buffer_wipe_policy::wipe_on_release >
basic_buffer & operator= (basic_buffer const &buf)
unsigned char const * get () const
 Undefined if buffer is empty.
unsigned char * data ()
 Same as get().
void add (size_t added)
 Increase size by the passed amount. Call this after having obtained a writable buffer with get(size_t write_size).
void consume (size_t consumed)
 Removes consumed bytes from the beginning of the buffer.
size_t size () const
void clear ()
void clear_and_free ()
void append (unsigned char const *data, size_t len)
 Appends the passed data to the buffer.
void push_back (unsigned char v)
basic_buffer & operator+= (unsigned char v)
bool empty () const
 operator bool () const
size_t capacity () const
void reserve (size_t capacity)
void resize (size_t size)
unsigned char operator[] (size_t i) const
 Gets element at offset i. Does not do bounds checking.
bool operator== (basic_buffer const &rhs) const
bool operator!= (basic_buffer const &rhs) const
std::string_view to_view () const
void wipe ()
void wipe_unused ()

Additional Inherited Members

Public Types inherited from basic_buffer< buffer_wipe_policy::wipe_on_release >
using value_type

Detailed Description

Just like buffer, but zeros memory when released or the secure_buffer is cleared. In addition, comparison is constant-time if operands have equal size


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