Skip to content

Class cubbase::DMRB

template <bool ThreadSafe>

ClassList > cubbase > DMRB

  • #include <DMRB.hpp>

Public Functions

Type Name
DMRB (std::size_t capacity)
DMRB ()
DMRB (const DMRB & other) = delete
DMRB (DMRB && other) = delete
std::size_t available () noexcept const
std::size_t capacity () noexcept const
virtual void commit (std::size_t length) = 0
virtual void consume (std::size_t length) = 0
bool empty () noexcept const
DMRB & operator= (const DMRB & other) = delete
DMRB & operator= (DMRB && other) = delete
virtual cubbase::span< const std::byte > peek () const = 0
std::size_t readable () noexcept const
virtual cubbase::span< std::byte > reserve (std::size_t length) = 0
virtual ~DMRB ()

Protected Types

Type Name
typedef std::conditional_t< ThreadSafe, std::atomic< std::uint64_t >, std::uint64_t > type_t

Protected Attributes

Type Name
void * m_base
int m_fd
type_t m_head = { 0 }
std::size_t m_mask
std::size_t m_size
type_t m_tail = { 0 }

Protected Static Functions

Type Name
void value_add (type_t & value, std::uint64_t n, std::memory_order order=std::memory_order_release)
std::uint64_t value_load (const type_t & value, std::memory_order order=std::memory_order_release)
void value_store (type_t & value, std::uint64_t n, std::memory_order order=std::memory_order_release)

Public Functions Documentation

function DMRB [1/4]

cubbase::DMRB::DMRB (
    std::size_t capacity
) 

function DMRB [2/4]

cubbase::DMRB::DMRB () 

function DMRB [3/4]

cubbase::DMRB::DMRB (
    const  DMRB & other
) = delete

function DMRB [4/4]

cubbase::DMRB::DMRB (
    DMRB && other
) = delete

function available

std::size_t cubbase::DMRB::available () noexcept const

function capacity

std::size_t cubbase::DMRB::capacity () noexcept const

function commit

virtual void cubbase::DMRB::commit (
    std::size_t length
) = 0

function consume

virtual void cubbase::DMRB::consume (
    std::size_t length
) = 0

function empty

bool cubbase::DMRB::empty () noexcept const

function operator=

DMRB & cubbase::DMRB::operator= (
    const  DMRB & other
) = delete

function operator=

DMRB & cubbase::DMRB::operator= (
    DMRB && other
) = delete

function peek

virtual cubbase::span < const std::byte > cubbase::DMRB::peek () const = 0

function readable

std::size_t cubbase::DMRB::readable () noexcept const

function reserve

virtual cubbase::span < std::byte > cubbase::DMRB::reserve (
    std::size_t length
) = 0

function ~DMRB

virtual cubbase::DMRB::~DMRB () 

Protected Types Documentation

typedef type_t

using cubbase::DMRB< ThreadSafe >::type_t =  std::conditional_t<ThreadSafe, std::atomic<std::uint64_t>, std::uint64_t>;

Protected Attributes Documentation

variable m_base

void* cubbase::DMRB< ThreadSafe >::m_base;

variable m_fd

int cubbase::DMRB< ThreadSafe >::m_fd;

variable m_head

type_t cubbase::DMRB< ThreadSafe >::m_head;

variable m_mask

std::size_t cubbase::DMRB< ThreadSafe >::m_mask;

variable m_size

std::size_t cubbase::DMRB< ThreadSafe >::m_size;

variable m_tail

type_t cubbase::DMRB< ThreadSafe >::m_tail;

Protected Static Functions Documentation

function value_add

static inline void cubbase::DMRB::value_add (
    type_t & value,
    std::uint64_t n,
    std::memory_order order=std::memory_order_release
) 

function value_load

static inline std::uint64_t cubbase::DMRB::value_load (
    const  type_t & value,
    std::memory_order order=std::memory_order_release
) 

function value_store

static inline void cubbase::DMRB::value_store (
    type_t & value,
    std::uint64_t n,
    std::memory_order order=std::memory_order_release
) 


The documentation for this class was generated from the following file cubrid/src/base/DMRB.hpp