Skip to content

Struct mdbx::buffer::silo

ClassList > silo

Inherits the following classes: allocator_type

Public Types

Type Name
typedef typename allocator_traits::const_pointer allocator_const_pointer
typedef typename allocator_traits::pointer allocator_pointer
typedef allocation_aware_details::copy_assign_alloc< silo, allocator_type > copy_assign_alloc
union bin
typedef allocation_aware_details::move_assign_alloc< silo, allocator_type > move_assign_alloc
typedef allocation_aware_details::swap_alloc< silo, allocator_type > swap_alloc

Public Attributes

Type Name
union mdbx::buffer::silo::bin bin_

Public Functions

Type Name
::std::pair< allocator_pointer, size_t > allocate_storage (size_t bytes)
void * assign (size_t headroom, const void * ptr, size_t length, size_t tailroom)
void * assign (const void * ptr, size_t length)
size_t capacity () noexcept const
void * clear ()
void * clear_and_reserve (size_t whole_capacity, size_t headroom)
const void * data (size_t offset=0) noexcept const
void * data (size_t offset=0) noexcept
void deallocate_storage (allocator_pointer ptr, size_t bytes)
const byte * get (size_t offset=0) noexcept const
byte * get (size_t offset=0) noexcept
const allocator_type & get_allocator () noexcept const
allocator_type & get_allocator () noexcept
bool is_inplace (const void * ptr) noexcept const
bool move_content (silo & other, const modality other_modality) noexcept
::std::pair< allocator_pointer, size_t > provide_storage (size_t bytes)
byte * put (size_t offset, const void * ptr, size_t length)
void release () noexcept
void * reshape (const size_t wanna_capacity, const size_t wanna_headroom, const void *const content, const size_t length)
constexpr silo (const allocator_type & alloc=allocator_type()) noexcept
constexpr silo (size_t capacity, const allocator_type & alloc=allocator_type())
silo (silo && other) = delete
constexpr silo (silo && other, bool is_reference=false)
constexpr silo (size_t capacity, size_t headroom, const void * ptr, size_t length, const allocator_type & alloc=allocator_type())
constexpr silo (const void * ptr, size_t length, const allocator_type & alloc=allocator_type())
~silo ()

Public Static Functions

Type Name
std::pair< bool, bool > exchange (silo & left, const modality left_modality, silo & right, const modality right_modality)
void * to_address (allocator_pointer ptr) noexcept
const void * to_address (allocator_const_pointer ptr) noexcept

Public Types Documentation

typedef allocator_const_pointer

using mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::allocator_const_pointer = typename allocator_traits::const_pointer;

typedef allocator_pointer

using mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::allocator_pointer = typename allocator_traits::pointer;

typedef copy_assign_alloc

using mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::copy_assign_alloc = allocation_aware_details::copy_assign_alloc<silo, allocator_type>;

union bin



typedef move_assign_alloc

using mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::move_assign_alloc = allocation_aware_details::move_assign_alloc<silo, allocator_type>;

typedef swap_alloc

using mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::swap_alloc = allocation_aware_details::swap_alloc<silo, allocator_type>;

Public Attributes Documentation

variable bin_

union mdbx::buffer::silo::bin mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin_;

Public Functions Documentation

function allocate_storage

inline ::std::pair< allocator_pointer, size_t > silo::allocate_storage (
    size_t bytes
) 

function assign [1/2]

inline void * silo::assign (
    size_t headroom,
    const void * ptr,
    size_t length,
    size_t tailroom
) 

function assign [2/2]

inline void * silo::assign (
    const void * ptr,
    size_t length
) 

function capacity

inline size_t silo::capacity () noexcept const

function clear

inline void * silo::clear () 

function clear_and_reserve

inline void * silo::clear_and_reserve (
    size_t whole_capacity,
    size_t headroom
) 

function data [1/2]

inline const void * silo::data (
    size_t offset=0
) noexcept const

function data [2/2]

inline void * silo::data (
    size_t offset=0
) noexcept

function deallocate_storage

inline void silo::deallocate_storage (
    allocator_pointer ptr,
    size_t bytes
) 

function get [1/2]

inline const byte * silo::get (
    size_t offset=0
) noexcept const

function get [2/2]

inline byte * silo::get (
    size_t offset=0
) noexcept

function get_allocator [1/2]

inline const allocator_type & silo::get_allocator () noexcept const

function get_allocator [2/2]

inline allocator_type & silo::get_allocator () noexcept

function is_inplace

inline bool silo::is_inplace (
    const void * ptr
) noexcept const

function move_content

inline bool silo::move_content (
    silo & other,
    const modality other_modality
) noexcept

function provide_storage

inline ::std::pair< allocator_pointer, size_t > silo::provide_storage (
    size_t bytes
) 

function put

inline byte * silo::put (
    size_t offset,
    const void * ptr,
    size_t length
) 

function release

inline void silo::release () noexcept

function reshape

template<bool external_content>
inline void * silo::reshape (
    const size_t wanna_capacity,
    const size_t wanna_headroom,
    const void *const content,
    const size_t length
) 

function silo [1/6]

inline constexpr silo::silo (
    const allocator_type & alloc=allocator_type ()
) noexcept

function silo [2/6]

inline constexpr silo::silo (
    size_t capacity,
    const allocator_type & alloc=allocator_type ()
) 

function silo [3/6]

silo::silo (
    silo && other
) = delete

function silo [4/6]

inline constexpr silo::silo (
    silo && other,
    bool is_reference=false
) 

function silo [5/6]

inline constexpr silo::silo (
    size_t capacity,
    size_t headroom,
    const void * ptr,
    size_t length,
    const allocator_type & alloc=allocator_type ()
) 

function silo [6/6]

inline constexpr silo::silo (
    const void * ptr,
    size_t length,
    const allocator_type & alloc=allocator_type ()
) 

function ~silo

inline silo::~silo () 

Public Static Functions Documentation

function exchange

static inline std::pair< bool, bool > silo::exchange (
    silo & left,
    const modality left_modality,
    silo & right,
    const modality right_modality
) 

function to_address [1/2]

static inline void * silo::to_address (
    allocator_pointer ptr
) noexcept

function to_address [2/2]

static inline const void * silo::to_address (
    allocator_const_pointer ptr
) noexcept


The documentation for this class was generated from the following file docs/mdbx.h++