Skip to content

Union mdbx::buffer::silo::bin

ClassList > silo > bin

  • #include <mdbx.h++>

Classes

Type Name
struct capacity_holder
struct inplace_flag_holder
struct stub_allocated_holder

Public Types

Type Name
enum byte @126005172062230052341174354266011134361366233171
enum size_t @252201202201303377322155303063303030304263353230

Public Attributes

Type Name
allocator_pointer allocated_ptr_
capacity_holder capacity_
inplace_flag_holder inplace_

Public Functions

Type Name
const byte * address () noexcept const
byte * address () noexcept
constexpr bin () noexcept
size_t capacity () noexcept const
bool is_allocated () noexcept const
bool is_inplace () noexcept const
bool is_inplace (const void * ptr) noexcept const
byte * make_allocated (const ::std::pair< allocator_pointer, size_t > & pair) noexcept
byte * make_inplace () noexcept

Public Static Functions

Type Name
size_t advise_capacity (const size_t current, const size_t wanna)
size_t inplace_capacity () noexcept
bool is_suitable_for_inplace (size_t capacity_bytes) noexcept

Public Types Documentation

enum @126005172062230052341174354266011134361366233171

enum silo::bin::@126005172062230052341174354266011134361366233171 {
    lastbyte_poison = 0,
    lastbyte_inplace_signature = byte(~byte(lastbyte_poison))
};

enum @252201202201303377322155303063303030304263353230

enum silo::bin::@252201202201303377322155303063303030304263353230 {
    inplace_signature_limit = size_t(lastbyte_inplace_signature)
                                  << (sizeof(size_t ) - 1) * CHAR_BIT,
    inplace_size_rounding = size_t(inplace_storage_size_rounding) - 1,
    inplace_size =
            (sizeof(stub_allocated_holder) + extra_inplace_storage + inplace_size_rounding) & ~inplace_size_rounding
};

Public Attributes Documentation

variable allocated_ptr_

allocator_pointer mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::allocated_ptr_;

variable capacity_

capacity_holder mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::capacity_;

variable inplace_

inplace_flag_holder mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::inplace_;

Public Functions Documentation

function address

inline const byte * silo::bin::address () noexcept const

function address

inline byte * silo::bin::address () noexcept

function bin

inline constexpr silo::bin::bin () noexcept

function capacity

inline size_t silo::bin::capacity () noexcept const

function is_allocated

inline bool silo::bin::is_allocated () noexcept const

function is_inplace

inline bool silo::bin::is_inplace () noexcept const

function is_inplace

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

function make_allocated

inline byte * silo::bin::make_allocated (
    const ::std::pair< allocator_pointer, size_t > & pair
) noexcept

function make_inplace

inline byte * silo::bin::make_inplace () noexcept

Public Static Functions Documentation

function advise_capacity

static inline size_t silo::bin::advise_capacity (
    const size_t current,
    const size_t wanna
) 

function inplace_capacity

static inline size_t silo::bin::inplace_capacity () noexcept

function is_suitable_for_inplace

static inline bool silo::bin::is_suitable_for_inplace (
    size_t capacity_bytes
) noexcept


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