SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::Core::Buffer< T > Struct Template Reference

#include <swcdb/core/Buffer.h>

+ Inheritance diagram for SWC::Core::Buffer< T >:

Public Types

typedef T value_type
 
typedef Buffer< value_typeBufferT
 
typedef std::shared_ptr< BufferTPtr
 

Public Member Functions

constexpr SWC_CAN_INLINE Buffer () noexcept
 
SWC_CAN_INLINE Buffer (size_t sz)
 
constexpr SWC_CAN_INLINE Buffer (value_type *data, size_t sz, bool take_ownership) noexcept
 
constexpr SWC_CAN_INLINE Buffer (BufferT &other) noexcept
 
constexpr SWC_CAN_INLINE Buffer (BufferT &&other) noexcept
 
template<typename OtherT >
constexpr Buffer (OtherT &other) noexcept
 
Bufferoperator= (const Buffer &)=delete
 
Bufferoperator= (Buffer &&)=delete
 
virtual SWC_CAN_INLINE ~Buffer () noexcept
 
SWC_CAN_INLINE void _free () noexcept
 
SWC_CAN_INLINE void free () noexcept
 
SWC_CAN_INLINE void reallocate (size_t len)
 
SWC_CAN_INLINE void assign (const value_type *data, size_t len)
 
void set (value_type *data, size_t len, bool take_ownership) noexcept
 
void set (BufferT &other) noexcept
 
template<typename OtherT >
void set (OtherT &other) noexcept
 

Static Public Member Functions

static SWC_CAN_INLINE value_typeallocate (size_t sz)
 

Public Attributes

bool own
 
size_t size: 56
 
value_typebase
 

Detailed Description

template<typename T>
struct SWC::Core::Buffer< T >

Definition at line 18 of file Buffer.h.

Member Typedef Documentation

◆ BufferT

template<typename T >
typedef Buffer<value_type> SWC::Core::Buffer< T >::BufferT

Definition at line 21 of file Buffer.h.

◆ Ptr

template<typename T >
typedef std::shared_ptr<BufferT> SWC::Core::Buffer< T >::Ptr

Definition at line 22 of file Buffer.h.

◆ value_type

template<typename T >
typedef T SWC::Core::Buffer< T >::value_type

Definition at line 20 of file Buffer.h.

Constructor & Destructor Documentation

◆ Buffer() [1/6]

template<typename T >
constexpr SWC_CAN_INLINE SWC::Core::Buffer< T >::Buffer ( )
inlineexplicitconstexprnoexcept

Definition at line 32 of file Buffer.h.

◆ Buffer() [2/6]

template<typename T >
SWC_CAN_INLINE SWC::Core::Buffer< T >::Buffer ( size_t  sz)
inline

Definition at line 37 of file Buffer.h.

◆ Buffer() [3/6]

template<typename T >
constexpr SWC_CAN_INLINE SWC::Core::Buffer< T >::Buffer ( value_type data,
size_t  sz,
bool  take_ownership 
)
inlineconstexprnoexcept

Definition at line 42 of file Buffer.h.

◆ Buffer() [4/6]

template<typename T >
constexpr SWC_CAN_INLINE SWC::Core::Buffer< T >::Buffer ( BufferT other)
inlineconstexprnoexcept

Definition at line 47 of file Buffer.h.

References SWC::Core::Buffer< T >::own.

◆ Buffer() [5/6]

template<typename T >
constexpr SWC_CAN_INLINE SWC::Core::Buffer< T >::Buffer ( BufferT &&  other)
inlineconstexprnoexcept

Definition at line 56 of file Buffer.h.

References SWC::Core::Buffer< T >::own.

◆ Buffer() [6/6]

template<typename T >
template<typename OtherT >
constexpr SWC::Core::Buffer< T >::Buffer ( OtherT &  other)
constexprnoexcept

◆ ~Buffer()

template<typename T >
virtual SWC_CAN_INLINE SWC::Core::Buffer< T >::~Buffer ( )
inlinevirtualnoexcept

Definition at line 74 of file Buffer.h.

References SWC::Core::Buffer< T >::_free().

+ Here is the call graph for this function:

Member Function Documentation

◆ _free()

template<typename T >
SWC_CAN_INLINE void SWC::Core::Buffer< T >::_free ( )
inlinenoexcept

Definition at line 79 of file Buffer.h.

References SWC::Core::Buffer< T >::base, and SWC::Core::Buffer< T >::own.

Referenced by SWC::Core::Buffer< T >::free(), SWC::Core::Buffer< T >::reallocate(), SWC::Core::Buffer< T >::set(), and SWC::Core::Buffer< T >::~Buffer().

+ Here is the caller graph for this function:

◆ allocate()

template<typename T >
static SWC_CAN_INLINE value_type* SWC::Core::Buffer< T >::allocate ( size_t  sz)
inlinestatic

Definition at line 26 of file Buffer.h.

References SWC::Error::BAD_MEMORY_ALLOCATION, and SWC_EXPECT.

Referenced by SWC::Core::Buffer< T >::reallocate().

+ Here is the caller graph for this function:

◆ assign()

template<typename T >
SWC_CAN_INLINE void SWC::Core::Buffer< T >::assign ( const value_type data,
size_t  len 
)
inline

Definition at line 103 of file Buffer.h.

References SWC::Core::Buffer< T >::base, data, and SWC::Core::Buffer< T >::reallocate().

Referenced by SWC::DB::Cell::Serial::Value::FieldUpdate_LIST::apply(), SWC::DB::Specs::Serial::Value::Field_BYTES::Field_BYTES(), SWC::DB::Cell::Serial::Value::Field_BYTES::Field_BYTES(), SWC::DB::Cell::Serial::Value::Field_LIST_BYTES::Field_LIST_BYTES(), and SWC::DB::Cell::Serial::Value::Field_LIST_INT64::Field_LIST_INT64().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ free()

◆ operator=() [1/2]

template<typename T >
Buffer& SWC::Core::Buffer< T >::operator= ( Buffer< T > &&  )
delete

◆ operator=() [2/2]

template<typename T >
Buffer& SWC::Core::Buffer< T >::operator= ( const Buffer< T > &  )
delete

◆ reallocate()

template<typename T >
SWC_CAN_INLINE void SWC::Core::Buffer< T >::reallocate ( size_t  len)
inline

Definition at line 92 of file Buffer.h.

References SWC::Core::Buffer< T >::_free(), SWC::Core::Buffer< T >::allocate(), SWC::Core::Buffer< T >::base, SWC::Core::Buffer< T >::free(), SWC::Core::Buffer< T >::own, and SWC::Core::Buffer< T >::size.

Referenced by SWC::Core::Buffer< T >::assign(), SWC::FS::FileSystem::default_pread(), SWC::FS::FileSystem::default_read(), SWC::DB::Cells::Cell::get_value(), SWC::Comm::Protocol::FsBroker::Handler::pread(), SWC::Comm::Protocol::FsBroker::Handler::read(), SWC::Comm::ConnHandler::recv_buffers(), and SWC::Comm::Buffers::set_data().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set() [1/3]

template<typename T >
void SWC::Core::Buffer< T >::set ( BufferT other)
inlinenoexcept

Definition at line 116 of file Buffer.h.

References SWC::Core::Buffer< T >::_free(), SWC::Core::Buffer< T >::base, SWC::Core::Buffer< T >::own, and SWC::Core::Buffer< T >::size.

+ Here is the call graph for this function:

◆ set() [2/3]

template<typename T >
template<typename OtherT >
void SWC::Core::Buffer< T >::set ( OtherT &  other)
noexcept

◆ set() [3/3]

template<typename T >
void SWC::Core::Buffer< T >::set ( value_type data,
size_t  len,
bool  take_ownership 
)
inlinenoexcept

Member Data Documentation

◆ base

template<typename T >
value_type* SWC::Core::Buffer< T >::base

Definition at line 131 of file Buffer.h.

Referenced by SWC::Core::Buffer< T >::_free(), SWC::Core::BufferStreamOut_ZSTD_OnAdd::add(), SWC::Core::BufferStreamIn::add(), SWC::Core::BufferStreamIn_ZSTD::add(), SWC::client::Query::Select::Handlers::BaseSingleColumn::add_cells(), SWC::client::Query::Select::Handlers::BaseUnorderedMap::Rsp::add_cells(), SWC::DB::Cells::Mutable::add_raw(), SWC::FS::FileSystemCeph::append(), SWC::FS::FileSystemHadoopJVM::append(), SWC::FS::FileSystemLocal::append(), SWC::DB::Cell::Serial::Value::FieldUpdate_LIST::apply(), SWC::Core::Buffer< T >::assign(), SWC::Ranger::Range::check_meta(), SWC::Comm::Protocol::FsBroker::Handler::combi_pread(), SWC::Comm::BufferInfo::decode(), SWC::FS::FileSystem::default_pread(), SWC::FS::FileSystem::default_read(), SWC::Common::Query::Update::Metric::Item_Net< SWC::Comm::Protocol::FsBroker::Commands >::definitions(), SWC::Common::Query::Update::Metric::Item_Mem::definitions(), SWC::Common::Query::Update::Metric::Item_CPU::definitions(), SWC::Common::Query::Update::Metric::Item_FS::definitions(), SWC::FsBroker::Metric::Item_Fds::definitions(), SWC::DB::Cells::Cell::display(), SWC::Comm::Protocol::Mngr::Req::Echo::Echo(), SWC::Ranger::CellStore::Block::Write::encode(), SWC::DB::Specs::Serial::Value::Fields::encode(), SWC::DB::Cell::Serial::Value::Field_BYTES::encode(), SWC::DB::Cell::Serial::Value::Field_LIST_INT64::encode(), SWC::DB::Cell::Serial::Value::Field_LIST_BYTES::encode(), SWC::DB::Specs::Serial::Value::Field_BYTES::encode(), SWC::DB::Specs::Serial::Value::Field_LIST_INT64::encode(), SWC::DB::Specs::Serial::Value::Field_LIST_BYTES::encode(), SWC::Ranger::CompactRange::InBlock::finalize_interval(), SWC::Core::Buffer< T >::free(), SWC::Core::BufferStreamOut_ZSTD_OnAdd::get(), SWC::Core::BufferStreamOut_ZSTD::get(), SWC::Core::BufferStreamOut_ENCODER::get(), SWC::Core::BufferStreamIn_ZSTD::get(), SWC::Comm::Buffers::get_buffers(), SWC::DB::Cells::Cell::get_value(), SWC::Manager::ColumnHealthCheck::ColumnMerger::RangesMerger::handle(), SWC::DB::Specs::IntervalUpdate::IntervalUpdate(), SWC::DB::Specs::Serial::Value::Field_BYTES::is_matching(), SWC::DB::Specs::Serial::Value::Field_LIST_INT64::is_matching(), SWC::DB::Specs::Serial::Value::Field_LIST_BYTES::is_matching(), SWC::DB::Specs::Serial::Value::Fields::is_matching(), SWC::DB::Specs::Value::is_matching_plain(), SWC::Ranger::RangeData::load(), SWC::Common::Files::Schema::load(), SWC::Ranger::CellStore::Read::load_blocks_index(), SWC::Ranger::CellStore::Block::Read::load_cells(), SWC::Ranger::CommitLog::Fragment::load_cells(), SWC::Ranger::CommitLog::Fragment::load_header(), SWC::Ranger::CellStore::Block::Read::load_read(), SWC::Ranger::CommitLog::Fragment::load_read(), SWC::Comm::Protocol::Bkr::Req::CellsUpdate< DataT >::make(), SWC::Comm::Protocol::Rgr::Req::RangeQueryUpdate< DataT >::make(), SWC::DB::Cells::Mutable::Mutable(), SWC::Ranger::Range::on_change(), SWC::Comm::ConnHandler::Receiver_Buffer::operator()(), SWC::DB::Specs::IntervalUpdate::operator=(), SWC::Comm::Protocol::FsBroker::Handler::pread(), SWC::DB::Cell::Serial::Value::FieldsWriter::print(), SWC::DB::Cell::Serial::Value::Field_BYTES::print(), SWC::DB::Cell::Serial::Value::Field_LIST_INT64::print(), SWC::DB::Cell::Serial::Value::Field_LIST_BYTES::print(), SWC::DB::Specs::Serial::Value::Field_BYTES::print(), SWC::DB::Cells::Cell::print(), SWC::Comm::Protocol::FsBroker::Handler::read(), SWC::Common::Files::RgrData::read(), SWC::DB::Cells::TSV::FileReader::read(), SWC::Comm::Protocol::FsBroker::Handler::read_all(), SWC::client::SQL::Reader::read_ts_and_value(), SWC::Core::Buffer< T >::reallocate(), SWC::Comm::ConnHandler::recv_buffers(), SWC::Common::Query::Update::Metric::Item_Net< SWC::Comm::Protocol::FsBroker::Commands >::report(), SWC::Common::Query::Update::Metric::Item_Mem::report(), SWC::Common::Query::Update::Metric::Item_CPU::report(), SWC::Common::Query::Update::Metric::Item_FS::report(), SWC::client::Query::Update::Handlers::Metric::Item_MinMaxAvgCount::report(), SWC::client::Query::Update::Handlers::Metric::Item_Count::report(), SWC::client::Query::Update::Handlers::Metric::Item_Volume::report(), SWC::client::Query::Update::Handlers::Metric::Item_CountVolume::report(), SWC::Ranger::Callback::RangeQuerySelect::response(), SWC::Comm::Event::response_code(), SWC::Manager::ColumnHealthCheck::ColumnMerger::run(), SWC::Ranger::Callback::RangeLocateScan::selector(), SWC::Ranger::Callback::RangeLocateScanCommit::selector(), SWC::Thrift::Converter::set(), SWC::ThriftBroker::AppHandler::set(), SWC::Core::Buffer< T >::set(), SWC::Comm::Buffers::set_data(), SWC::DB::RgrData::set_insert_cell(), SWC::Common::Files::RgrData::set_rgr(), SWC::DB::Cells::Cell::set_value(), SWC::Ranger::CommitLog::Fragment::split(), SWC::Utils::shell::Statistics::StatsDefinition::StatsDefinition(), SWC::Manager::Schemas::store_load(), SWC::Manager::Schemas::store_make_block(), SWC::Ranger::Callback::RangeQuerySelectDeleting::update(), SWC::Ranger::Callback::RangeQuerySelectUpdating::update(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Append::update_cell_value(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Insert::update_cell_value(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Overwrite::update_cell_value(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Prepend::update_cell_value(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Serial::update_cell_value(), SWC::Utils::LoadGenerator::update_data(), SWC::DB::Cells::TSV::FileWriter::write(), SWC::Ranger::CommitLog::Fragment::write(), SWC::Common::Files::Schema::write(), SWC::Ranger::CellStore::Write::write_blocks_index(), and SWC::Ranger::CellStore::Write::write_trailer().

◆ own

◆ size

template<typename T >
size_t SWC::Core::Buffer< T >::size

Definition at line 130 of file Buffer.h.

Referenced by SWC::Core::BufferStreamOut_ZSTD_OnAdd::add(), SWC::Core::BufferStreamIn::add(), SWC::Core::BufferStreamIn_ZSTD::add(), SWC::client::Query::Select::Handlers::BaseSingleColumn::add_cells(), SWC::client::Query::Select::Handlers::BaseUnorderedMap::Rsp::add_cells(), SWC::FS::FileSystemBroker::append(), SWC::FS::FileSystemCeph::append(), SWC::FS::FileSystemHadoop::append(), SWC::FS::FileSystemHadoopJVM::append(), SWC::FS::FileSystemLocal::append(), SWC::DB::Cell::Serial::Value::FieldUpdate_LIST::apply(), SWC::Core::BufferStreamOut_ZSTD_OnAdd::available(), SWC::Ranger::CellStore::Write::block(), SWC::Ranger::Range::check_meta(), SWC::FS::FileSystem::default_pread(), SWC::FS::FileSystem::default_read(), SWC::FS::FileSystem::default_write(), SWC::DB::Cells::Cell::display(), SWC::DB::Specs::Serial::Value::Fields::encode(), SWC::DB::Cell::Serial::Value::Field_BYTES::encode(), SWC::DB::Cell::Serial::Value::Field_LIST_INT64::encode(), SWC::DB::Cell::Serial::Value::Field_LIST_BYTES::encode(), SWC::DB::Specs::Serial::Value::Field_BYTES::encode(), SWC::DB::Specs::Serial::Value::Field_LIST_INT64::encode(), SWC::DB::Specs::Serial::Value::Field_LIST_BYTES::encode(), SWC::DB::Cell::Serial::Value::Field_BYTES::encoded_length(), SWC::DB::Cell::Serial::Value::Field_LIST_INT64::encoded_length(), SWC::DB::Cell::Serial::Value::Field_LIST_BYTES::encoded_length(), SWC::DB::Specs::Serial::Value::Field_BYTES::encoded_length(), SWC::Ranger::Callback::RangeQuerySelect::ensure_size(), SWC::Core::Buffer< T >::free(), SWC::Core::BufferStreamOut_ZSTD_OnAdd::get(), SWC::Core::BufferStreamOut_ZSTD::get(), SWC::Core::BufferStreamIn_ZSTD::get(), SWC::Comm::Buffers::get_buffers(), SWC::DB::Cells::Cell::get_value(), SWC::Manager::ColumnHealthCheck::ColumnMerger::RangesMerger::handle(), SWC::DB::Specs::IntervalUpdate::IntervalUpdate(), SWC::DB::Specs::Serial::Value::Field_BYTES::is_matching(), SWC::DB::Specs::Serial::Value::Fields::is_matching(), SWC::DB::Specs::Value::is_matching_plain(), SWC::Ranger::RangeData::load(), SWC::Common::Files::Schema::load(), SWC::Ranger::CellStore::Block::Read::load_cells(), SWC::Ranger::CommitLog::Fragment::load_cells(), SWC::Ranger::CommitLog::Fragment::load_read(), SWC::DB::Cells::Mutable::Mutable(), SWC::Comm::ConnHandler::Receiver_Buffer::operator()(), SWC::DB::Specs::IntervalUpdate::operator=(), SWC::Comm::Protocol::FsBroker::Handler::pread(), SWC::Comm::Buffers::prepare(), SWC::Comm::Event::print(), SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::print(), SWC::Comm::Protocol::Rgr::Params::RangeQuerySelectRsp::print(), SWC::DB::Cell::Serial::Value::Field_BYTES::print(), SWC::DB::Cell::Serial::Value::Field_LIST_INT64::print(), SWC::DB::Cell::Serial::Value::Field_LIST_BYTES::print(), SWC::DB::Specs::Serial::Value::Field_BYTES::print(), SWC::DB::Cells::Cell::print(), SWC::Comm::Protocol::FsBroker::Handler::read(), SWC::Common::Files::RgrData::read(), SWC::DB::Cells::TSV::FileReader::read(), SWC::Core::Buffer< T >::reallocate(), SWC::Comm::ConnHandler::recv_buffers(), SWC::Ranger::Callback::RangeQuerySelect::response(), SWC::Comm::Event::response_code(), SWC::client::Query::Select::Scanner::rgr_selected(), SWC::Manager::ColumnHealthCheck::ColumnMerger::run(), SWC::client::Query::Select::BrokerScanner::selected(), SWC::Ranger::Callback::RangeLocateScan::selector(), SWC::Ranger::Callback::RangeLocateScanCommit::selector(), SWC::Thrift::Converter::set(), SWC::Core::Buffer< T >::set(), SWC::Comm::Buffers::set_data(), SWC::DB::RgrData::set_insert_cell(), SWC::Ranger::CommitLog::Fragment::split(), SWC::Utils::shell::Statistics::StatsDefinition::StatsDefinition(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Append::update_cell_value(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Insert::update_cell_value(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Overwrite::update_cell_value(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Prepend::update_cell_value(), SWC::Ranger::Callback::RangeQuerySelectUpdating_Serial::update_cell_value(), SWC::DB::Cells::TSV::FileWriter::write(), SWC::FS::FileSystemBroker::write(), SWC::Ranger::CellStore::Write::write_blocks_index(), and SWC::Ranger::CellStore::Write::write_trailer().


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