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::DB::Specs::IntervalUpdate Class Referencefinal

#include <swcdb/db/Cells/SpecsIntervalUpdate.h>

+ Collaboration diagram for SWC::DB::Specs::IntervalUpdate:

Public Types

typedef std::unique_ptr< IntervalUpdatePtr
 

Public Member Functions

 IntervalUpdate (Types::Encoder a_encoder, int64_t a_timestamp=DB::Cells::TIMESTAMP_NULL) noexcept
 
 IntervalUpdate (Types::Encoder a_encoder, uint32_t a_vlen, int64_t a_timestamp=DB::Cells::TIMESTAMP_NULL)
 
 IntervalUpdate (Types::Encoder a_encoder, uint8_t *a_value, uint32_t a_vlen, int64_t a_timestamp, const UpdateOP &op, bool cp)
 
 IntervalUpdate (Types::Encoder a_encoder, const std::string &v, int64_t a_timestamp, const UpdateOP &op)
 
SWC_CAN_INLINE IntervalUpdate (const uint8_t **bufp, size_t *remainp)
 
 IntervalUpdate (const IntervalUpdate &other)
 
 IntervalUpdate (IntervalUpdate &&other) noexcept
 
 IntervalUpdate (const DB::Cells::Cell &cell)
 
 IntervalUpdate (DB::Cells::Cell &&cell)
 
 ~IntervalUpdate () noexcept
 
SWC_CAN_INLINE void _free () noexcept
 
SWC_CAN_INLINE void free () noexcept
 
IntervalUpdateoperator= (const IntervalUpdate &other)
 
IntervalUpdateoperator= (IntervalUpdate &&other) noexcept
 
IntervalUpdateoperator= (const DB::Cells::Cell &cell)
 
IntervalUpdateoperator= (DB::Cells::Cell &&cell) noexcept
 
SWC_CAN_INLINE bool equal (const IntervalUpdate &other) const noexcept
 
void set (Types::Encoder a_encoder, uint8_t *a_value, uint32_t a_vlen, int64_t a_timestamp=DB::Cells::TIMESTAMP_NULL, bool cp=false)
 
SWC_CAN_INLINE void set (const UpdateOP &op) noexcept
 
SWC_CAN_INLINE size_t encoded_length () const noexcept
 
SWC_CAN_INLINE void encode (uint8_t **bufp) const
 
void print (std::ostream &out) const
 
void display (std::ostream &out, bool pretty) const
 

Static Public Member Functions

template<typename... ArgsT>
static SWC_CAN_INLINE Ptr make (ArgsT &&... args)
 

Public Attributes

UpdateOP operation
 
Types::Encoder encoder
 
int64_t timestamp
 
uint8_t * value
 
uint32_t vlen
 

Static Private Member Functions

static SWC_CAN_INLINE uint8_t * alloc_value (uint32_t len)
 
static SWC_CAN_INLINE uint8_t * copy_value (const uint8_t *v, uint32_t len)
 

Detailed Description

Definition at line 17 of file SpecsIntervalUpdate.h.

Member Typedef Documentation

◆ Ptr

Definition at line 34 of file SpecsIntervalUpdate.h.

Constructor & Destructor Documentation

◆ IntervalUpdate() [1/9]

SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( Types::Encoder  a_encoder,
int64_t  a_timestamp = DB::Cells::TIMESTAMP_NULL 
)
inlinenoexcept

Definition at line 42 of file SpecsIntervalUpdate.h.

Referenced by make().

+ Here is the caller graph for this function:

◆ IntervalUpdate() [2/9]

SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( Types::Encoder  a_encoder,
uint32_t  a_vlen,
int64_t  a_timestamp = DB::Cells::TIMESTAMP_NULL 
)
inline

Definition at line 49 of file SpecsIntervalUpdate.h.

◆ IntervalUpdate() [3/9]

SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( Types::Encoder  a_encoder,
uint8_t *  a_value,
uint32_t  a_vlen,
int64_t  a_timestamp,
const UpdateOP op,
bool  cp 
)
inline

Definition at line 56 of file SpecsIntervalUpdate.h.

◆ IntervalUpdate() [4/9]

SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( Types::Encoder  a_encoder,
const std::string &  v,
int64_t  a_timestamp,
const UpdateOP op 
)
inline

Definition at line 66 of file SpecsIntervalUpdate.h.

◆ IntervalUpdate() [5/9]

SWC_CAN_INLINE SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( const uint8_t **  bufp,
size_t *  remainp 
)
inline

Definition at line 79 of file SpecsIntervalUpdate.h.

References copy_value(), SWC::Serialization::decode_bytes(), value, and vlen.

+ Here is the call graph for this function:

◆ IntervalUpdate() [6/9]

SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( const IntervalUpdate other)
inline

Definition at line 90 of file SpecsIntervalUpdate.h.

◆ IntervalUpdate() [7/9]

SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( IntervalUpdate &&  other)
inlinenoexcept

Definition at line 98 of file SpecsIntervalUpdate.h.

◆ IntervalUpdate() [8/9]

SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( const DB::Cells::Cell cell)
inline

Definition at line 107 of file SpecsIntervalUpdate.h.

References SWC::Core::Buffer< T >::base, encoder, SWC::DB::Cells::Cell::get_value(), SWC::Core::Buffer< T >::own, SWC::Core::Buffer< T >::size, value, and vlen.

+ Here is the call graph for this function:

◆ IntervalUpdate() [9/9]

SWC::DB::Specs::IntervalUpdate::IntervalUpdate ( DB::Cells::Cell &&  cell)
inline

◆ ~IntervalUpdate()

SWC::DB::Specs::IntervalUpdate::~IntervalUpdate ( )
inlinenoexcept

Definition at line 135 of file SpecsIntervalUpdate.h.

References _free().

+ Here is the call graph for this function:

Member Function Documentation

◆ _free()

SWC_CAN_INLINE void SWC::DB::Specs::IntervalUpdate::_free ( )
inlinenoexcept

Definition at line 140 of file SpecsIntervalUpdate.h.

References value.

Referenced by free(), operator=(), set(), and ~IntervalUpdate().

+ Here is the caller graph for this function:

◆ alloc_value()

static SWC_CAN_INLINE uint8_t* SWC::DB::Specs::IntervalUpdate::alloc_value ( uint32_t  len)
inlinestaticprivate

Definition at line 21 of file SpecsIntervalUpdate.h.

◆ copy_value()

static SWC_CAN_INLINE uint8_t* SWC::DB::Specs::IntervalUpdate::copy_value ( const uint8_t *  v,
uint32_t  len 
)
inlinestaticprivate

Definition at line 26 of file SpecsIntervalUpdate.h.

Referenced by IntervalUpdate(), operator=(), and set().

+ Here is the caller graph for this function:

◆ display()

void SWC::DB::Specs::IntervalUpdate::display ( std::ostream &  out,
bool  pretty 
) const
inline

Definition at line 253 of file SpecsIntervalUpdate.h.

References encoder, operation, SWC::DB::Specs::UpdateOP::print(), timestamp, SWC::Core::Encoder::to_string(), value, and vlen.

Referenced by print().

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

◆ encode()

SWC_CAN_INLINE void SWC::DB::Specs::IntervalUpdate::encode ( uint8_t **  bufp) const
inline

Definition at line 239 of file SpecsIntervalUpdate.h.

References SWC::DB::Specs::UpdateOP::encode(), SWC::Serialization::encode_bytes(), SWC::Serialization::encode_i8(), SWC::Serialization::encode_vi64(), encoder, operation, timestamp, value, and vlen.

+ Here is the call graph for this function:

◆ encoded_length()

SWC_CAN_INLINE size_t SWC::DB::Specs::IntervalUpdate::encoded_length ( ) const
inlinenoexcept

Definition at line 231 of file SpecsIntervalUpdate.h.

References SWC::DB::Specs::UpdateOP::encoded_length(), SWC::Serialization::encoded_length_bytes(), SWC::Serialization::encoded_length_vi64(), operation, timestamp, and vlen.

+ Here is the call graph for this function:

◆ equal()

SWC_CAN_INLINE bool SWC::DB::Specs::IntervalUpdate::equal ( const IntervalUpdate other) const
inlinenoexcept

Definition at line 207 of file SpecsIntervalUpdate.h.

References encoder, SWC::DB::Specs::UpdateOP::equal(), SWC::Condition::mem_eq(), operation, timestamp, value, and vlen.

+ Here is the call graph for this function:

◆ free()

SWC_CAN_INLINE void SWC::DB::Specs::IntervalUpdate::free ( )
inlinenoexcept

Definition at line 145 of file SpecsIntervalUpdate.h.

References _free(), value, and vlen.

+ Here is the call graph for this function:

◆ make()

template<typename... ArgsT>
static SWC_CAN_INLINE Ptr SWC::DB::Specs::IntervalUpdate::make ( ArgsT &&...  args)
inlinestatic

Definition at line 38 of file SpecsIntervalUpdate.h.

References IntervalUpdate().

Referenced by SWC::client::SQL::QuerySelect::read_update().

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

◆ operator=() [1/4]

IntervalUpdate& SWC::DB::Specs::IntervalUpdate::operator= ( const DB::Cells::Cell cell)
inline

Definition at line 176 of file SpecsIntervalUpdate.h.

References _free(), SWC::Core::Buffer< T >::base, encoder, SWC::DB::Cells::Cell::get_timestamp(), SWC::DB::Cells::Cell::get_value(), operation, SWC::Core::Buffer< T >::own, SWC::Core::Buffer< T >::size, timestamp, value, and vlen.

+ Here is the call graph for this function:

◆ operator=() [2/4]

IntervalUpdate& SWC::DB::Specs::IntervalUpdate::operator= ( const IntervalUpdate other)
inline

Definition at line 153 of file SpecsIntervalUpdate.h.

References _free(), copy_value(), encoder, operation, timestamp, value, and vlen.

+ Here is the call graph for this function:

◆ operator=() [3/4]

IntervalUpdate& SWC::DB::Specs::IntervalUpdate::operator= ( DB::Cells::Cell &&  cell)
inlinenoexcept

Definition at line 188 of file SpecsIntervalUpdate.h.

References _free(), SWC::Core::Buffer< T >::base, encoder, operation, SWC::Core::Buffer< T >::own, SWC::Core::Buffer< T >::size, timestamp, value, and vlen.

+ Here is the call graph for this function:

◆ operator=() [4/4]

IntervalUpdate& SWC::DB::Specs::IntervalUpdate::operator= ( IntervalUpdate &&  other)
inlinenoexcept

Definition at line 163 of file SpecsIntervalUpdate.h.

References _free(), SWC::Core::Encoder::DEFAULT, encoder, operation, timestamp, value, and vlen.

+ Here is the call graph for this function:

◆ print()

void SWC::DB::Specs::IntervalUpdate::print ( std::ostream &  out) const
inline

Definition at line 246 of file SpecsIntervalUpdate.h.

References display(), and vlen.

+ Here is the call graph for this function:

◆ set() [1/2]

SWC_CAN_INLINE void SWC::DB::Specs::IntervalUpdate::set ( const UpdateOP op)
inlinenoexcept

Definition at line 226 of file SpecsIntervalUpdate.h.

References operation.

◆ set() [2/2]

void SWC::DB::Specs::IntervalUpdate::set ( Types::Encoder  a_encoder,
uint8_t *  a_value,
uint32_t  a_vlen,
int64_t  a_timestamp = DB::Cells::TIMESTAMP_NULL,
bool  cp = false 
)
inline

Definition at line 215 of file SpecsIntervalUpdate.h.

References _free(), copy_value(), encoder, operation, timestamp, value, and vlen.

+ Here is the call graph for this function:

Member Data Documentation

◆ encoder

Types::Encoder SWC::DB::Specs::IntervalUpdate::encoder

Definition at line 278 of file SpecsIntervalUpdate.h.

Referenced by display(), encode(), equal(), IntervalUpdate(), operator=(), and set().

◆ operation

UpdateOP SWC::DB::Specs::IntervalUpdate::operation

Definition at line 277 of file SpecsIntervalUpdate.h.

Referenced by display(), encode(), encoded_length(), equal(), operator=(), and set().

◆ timestamp

int64_t SWC::DB::Specs::IntervalUpdate::timestamp

Definition at line 279 of file SpecsIntervalUpdate.h.

Referenced by display(), encode(), encoded_length(), equal(), operator=(), and set().

◆ value

uint8_t* SWC::DB::Specs::IntervalUpdate::value

Definition at line 280 of file SpecsIntervalUpdate.h.

Referenced by _free(), display(), encode(), equal(), free(), IntervalUpdate(), operator=(), and set().

◆ vlen

uint32_t SWC::DB::Specs::IntervalUpdate::vlen

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