|
OpenVPN 3 Core Library
|
#include <string>#include <cstdlib>#include <cstring>#include <algorithm>#include <type_traits>#include <openvpn/io/io.hpp>#include <openvpn/common/size.hpp>#include <openvpn/common/exception.hpp>#include <openvpn/common/rc.hpp>#include <openvpn/buffer/bufclamp.hpp>#include <openvpn/common/make_rc.hpp>#include <openvpn/common/intrinsic_type.hpp>Go to the source code of this file.
Classes | |
| class | openvpn::BufferException |
| report various types of exceptions or errors that may occur when working with buffers More... | |
| struct | openvpn::BufferFlags |
| class | openvpn::ConstBufferType< T > |
| Immutable buffer with double ended access and adjustable free space at both ends. More... | |
| class | openvpn::BufferType< T > |
| class | openvpn::BufferAllocatedType< T > |
Namespaces | |
| namespace | openvpn |
| namespace | openvpn::BufAllocFlags |
Macros | |
| #define | OPENVPN_BUFFER_THROW(exc) |
Typedefs | |
| using | openvpn::Buffer = BufferType< unsigned char > |
| using | openvpn::ConstBuffer = ConstBufferType< unsigned char > |
| using | openvpn::BufferAllocated = BufferAllocatedType< unsigned char > |
| using | openvpn::BufferAllocatedRc = RcEnable< BufferAllocated, RC< thread_unsafe_refcount > > |
| using | openvpn::BufferPtr = RCPtr< BufferAllocatedRc > |
| using | openvpn::BufferAllocatedTS = RcEnable< BufferAllocated, RC< thread_safe_refcount > > |
| using | openvpn::BufferPtrTS = RCPtr< BufferAllocatedTS > |
Functions | |
| constexpr BufferFlags | openvpn::BufAllocFlags::NO_FLAGS (0u) |
| no flags set | |
| constexpr BufferFlags | openvpn::BufAllocFlags::CONSTRUCT_ZERO (1u<< 0) |
| if enabled, constructors/init will zero allocated space | |
| constexpr BufferFlags | openvpn::BufAllocFlags::DESTRUCT_ZERO (1u<< 1) |
| if enabled, destructor will zero data before deletion | |
| constexpr BufferFlags | openvpn::BufAllocFlags::GROW (1u<< 2) |
| if enabled, buffer will grow (otherwise buffer_full exception will be thrown) | |
| constexpr BufferFlags | openvpn::BufAllocFlags::ARRAY (1u<< 3) |
| if enabled, use as array | |
| template<typename T_ > | |
| openvpn::BufferAllocatedType (const BufferType< T_ > &, BufferFlags) -> BufferAllocatedType< unsigned char > | |
| template<typename T > | |
| ConstBufferType< T > & | openvpn::const_buffer_ref (BufferType< T > &src) |
| template<typename T > | |
| const ConstBufferType< T > & | openvpn::const_buffer_ref (const BufferType< T > &src) |
| template<typename AlignT , typename T > | |
| AlignT * | openvpn::align_as (BufferAllocatedType< T > &buf) |
| Aligns buffer.data() to the required value and returns a pointer to the aligned object. | |
| #define OPENVPN_BUFFER_THROW | ( | exc | ) |
Definition at line 65 of file buffer.hpp.