libmdbx 0.13.1.40 (2024-10-26T23:23:17+03:00)
One of the fastest compact embeddable key-value ACID database without WAL.
 
Loading...
Searching...
No Matches
mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin Union Reference

#include <mdbx.h++>

Classes

struct  allocated
 

Public Types

enum  : byte { lastbyte_inplace_signature = byte(~byte(0)) }
 
enum  : size_t { inplace_signature_limit }
 

Public Member Functions

constexpr byte inplace_lastbyte () const noexcept
 
constexpr byteinplace_lastbyte () noexcept
 
constexpr bool is_inplace () const noexcept
 
constexpr bool is_allocated () const noexcept
 
template<bool destroy_ptr>
constexpr bytemake_inplace () noexcept
 
template<bool construct_ptr>
constexpr bytemake_allocated (allocator_pointer ptr, size_t capacity_bytes) noexcept
 
constexpr bin (size_t capacity_bytes=0) noexcept
 
constexpr bin (allocator_pointer ptr, size_t capacity_bytes) noexcept
 
constexpr ~bin ()
 
constexpr bin (bin &&ditto) noexcept
 
constexpr binoperator= (const bin &ditto) noexcept
 
constexpr binoperator= (bin &&ditto) noexcept
 
constexpr const byteaddress () const noexcept
 
constexpr byteaddress () noexcept
 
constexpr size_t capacity () const noexcept
 

Static Public Member Functions

static constexpr bool is_suitable_for_inplace (size_t capacity_bytes) noexcept
 
static constexpr size_t advise_capacity (const size_t current, const size_t wanna)
 

Public Attributes

allocated allocated_
 
uint64_t align_hint_
 
byte inplace_ [(sizeof(allocated)+extra_inplace_storage+7u) &~size_t(7)]
 

Member Enumeration Documentation

◆ anonymous enum

Enumerator
lastbyte_inplace_signature 

◆ anonymous enum

Enumerator
inplace_signature_limit 

Constructor & Destructor Documentation

◆ bin() [1/3]

constexpr mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::bin ( size_t  capacity_bytes = 0)
inlineconstexprnoexcept

◆ bin() [2/3]

constexpr mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::bin ( allocator_pointer  ptr,
size_t  capacity_bytes 
)
inlineconstexprnoexcept

◆ ~bin()

constexpr mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::~bin ( )
inlineconstexpr

◆ bin() [3/3]

constexpr mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::bin ( bin &&  ditto)
inlineconstexprnoexcept

Member Function Documentation

◆ address() [1/2]

constexpr const byte * mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::address ( ) const
inlineconstexprnoexcept

◆ address() [2/2]

constexpr byte * mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::address ( )
inlineconstexprnoexcept

◆ advise_capacity()

static constexpr size_t mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::advise_capacity ( const size_t  current,
const size_t  wanna 
)
inlinestaticconstexpr

◆ capacity()

constexpr size_t mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::capacity ( ) const
inlineconstexprnoexcept

◆ inplace_lastbyte() [1/2]

constexpr byte mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::inplace_lastbyte ( ) const
inlineconstexprnoexcept

◆ inplace_lastbyte() [2/2]

constexpr byte & mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::inplace_lastbyte ( )
inlineconstexprnoexcept

◆ is_allocated()

constexpr bool mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::is_allocated ( ) const
inlineconstexprnoexcept

◆ is_inplace()

constexpr bool mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::is_inplace ( ) const
inlineconstexprnoexcept

◆ is_suitable_for_inplace()

static constexpr bool mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::is_suitable_for_inplace ( size_t  capacity_bytes)
inlinestaticconstexprnoexcept

◆ make_allocated()

template<bool construct_ptr>
constexpr byte * mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::make_allocated ( allocator_pointer  ptr,
size_t  capacity_bytes 
)
inlineconstexprnoexcept

◆ make_inplace()

template<bool destroy_ptr>
constexpr byte * mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::make_inplace ( )
inlineconstexprnoexcept

◆ operator=() [1/2]

constexpr bin & mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::operator= ( bin &&  ditto)
inlineconstexprnoexcept

◆ operator=() [2/2]

constexpr bin & mdbx::buffer< ALLOCATOR, CAPACITY_POLICY >::silo::bin::operator= ( const bin ditto)
inlineconstexprnoexcept

Member Data Documentation

◆ align_hint_

◆ allocated_

◆ inplace_


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