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::KeyIntervals Class Reference

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

+ Inheritance diagram for SWC::DB::Specs::KeyIntervals:
+ Collaboration diagram for SWC::DB::Specs::KeyIntervals:

Public Types

typedef Core::Vector< KeyIntervalVec
 
- Public Types inherited from SWC::Core::Vector< KeyInterval >
using value_type = KeyInterval
 
using size_type = uint32_t
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef value_typeiterator
 
typedef const value_typeconst_iterator
 
typedef value_typereference
 
typedef const value_typeconst_reference
 

Public Member Functions

SWC_CAN_INLINE KeyIntervals () noexcept
 
SWC_CAN_INLINE KeyIntervals (const uint8_t **bufp, size_t *remainp)
 
SWC_CAN_INLINE KeyIntervals (KeyIntervals &&other) noexcept
 
 ~KeyIntervals () noexcept
 
SWC_CAN_INLINE KeyIntervalsoperator= (const KeyIntervals &other)
 
SWC_CAN_INLINE KeyIntervalsoperator= (KeyIntervals &&other) noexcept
 
SWC_CAN_INLINE void move (KeyIntervals &other) noexcept
 
 KeyIntervals (const KeyIntervals &other)
 
void copy (const KeyIntervals &other)
 
KeyIntervaladd ()
 
KeyIntervaladd (const KeyInterval &other)
 
KeyIntervaladd (KeyInterval &&other)
 
KeyIntervaladd (const Key &start, const Key &finish)
 
KeyIntervaladd (Key &&start, Key &&finish)
 
size_t size_of_internal () const noexcept
 
bool SWC_PURE_FUNC equal (const KeyIntervals &other) const noexcept
 
bool is_matching (const Types::KeySeq key_seq, const DB::Cell::Key &cellkey) const
 
bool is_matching_start (const Types::KeySeq key_seq, const DB::Cell::Key &cellkey) const
 
SWC_CAN_INLINE size_t encoded_length () const noexcept
 
SWC_CAN_INLINE void encode (uint8_t **bufp) const
 
SWC_CAN_INLINE void decode (const uint8_t **bufp, size_t *remainp)
 
void print (std::ostream &out) const
 
void display (std::ostream &out, bool pretty, const std::string &offset) const
 
- Public Member Functions inherited from SWC::Core::Vector< KeyInterval >
constexpr SWC_CAN_INLINE Vector () noexcept
 
SWC_CAN_INLINE Vector (size_type sz, ArgsT &&... args)
 
constexpr SWC_CAN_INLINE Vector (Vector &&other) noexcept
 
SWC_CAN_INLINE Vector (const Vector &other)
 
SWC_CAN_INLINE Vector (const_iterator _b, const_iterator _e)
 
SWC_CAN_INLINE Vector (std::initializer_list< value_type > &&l)
 
SWC_CAN_INLINE ~Vector () noexcept(_NoExceptDestructor)
 
SWC_CAN_INLINE void clear () noexcept(_NoExceptDestructor)
 
SWC_CAN_INLINE void free () noexcept
 
SWC_CAN_INLINE Vectoroperator= (Vector &&other) noexcept
 
SWC_CAN_INLINE Vectoroperator= (const Vector &other)
 
SWC_CAN_INLINE void swap (Vector &other) noexcept
 
constexpr SWC_CAN_INLINE bool empty () const noexcept
 
constexpr SWC_CAN_INLINE bool operator== (const Vector &other) const noexcept
 
constexpr SWC_CAN_INLINE bool operator!= (const Vector &other) const noexcept
 
constexpr SWC_CAN_INLINE size_type size () const noexcept
 
constexpr SWC_CAN_INLINE size_type capacity () const noexcept
 
constexpr SWC_CAN_INLINE pointer data () noexcept
 
constexpr SWC_CAN_INLINE const_pointer data () const noexcept
 
constexpr SWC_CAN_INLINE iterator begin () noexcept
 
constexpr SWC_CAN_INLINE const_iterator begin () const noexcept
 
constexpr SWC_CAN_INLINE const_iterator cbegin () const noexcept
 
constexpr SWC_CAN_INLINE iterator end () noexcept
 
constexpr SWC_CAN_INLINE const_iterator end () const noexcept
 
constexpr SWC_CAN_INLINE const_iterator cend () const noexcept
 
constexpr SWC_CAN_INLINE reference front () noexcept
 
constexpr SWC_CAN_INLINE const_reference front () const noexcept
 
constexpr SWC_CAN_INLINE reference back () noexcept
 
constexpr SWC_CAN_INLINE const_reference back () const noexcept
 
constexpr SWC_CAN_INLINE reference operator[] (size_type pos) noexcept
 
constexpr SWC_CAN_INLINE const_reference operator[] (size_type pos) const noexcept
 
SWC_CAN_INLINE void shrink_to_fit (size_type sz=0)
 
SWC_CAN_INLINE void reserve (size_type cap)
 
SWC_CAN_INLINE void reserve ()
 
SWC_CAN_INLINE void resize (size_type sz, ArgsT &&... args)
 
SWC_CAN_INLINE void push_back (ArgsT &&... args)
 
SWC_CAN_INLINE void push_back_unsafe (ArgsT &&... args) noexcept(std::is_nothrow_constructible_v< value_type, ArgsT... >)
 
SWC_CAN_INLINE reference emplace_back (ArgsT &&... args)
 
SWC_CAN_INLINE reference emplace_back_unsafe (ArgsT &&... args) noexcept(std::is_nothrow_constructible_v< value_type, ArgsT... >)
 
SWC_CAN_INLINE iterator insert (size_type offset, ArgsT &&... args)
 
SWC_CAN_INLINE iterator insert (const_iterator it, ArgsT &&... args)
 
SWC_CAN_INLINE iterator insert (size_type offset, const_iterator first, const_iterator last)
 
SWC_CAN_INLINE iterator insert (const_iterator it, const_iterator first, const_iterator last)
 
SWC_CAN_INLINE reference emplace (const_iterator it, ArgsT &&... args)
 
SWC_CAN_INLINE iterator insert_unsafe (const_iterator it, ArgsT &&... args) noexcept(_NoExceptMove &&_NoExceptDestructor &&std::is_nothrow_constructible_v< value_type, ArgsT... >)
 
SWC_CAN_INLINE void assign (IteratorT first, IteratorT last)
 
SWC_CAN_INLINE iterator erase (size_type offset) noexcept(_NoExceptMoveAssign &&_NoExceptDestructor)
 
SWC_CAN_INLINE iterator erase (const_iterator it) noexcept(_NoExceptMoveAssign &&_NoExceptDestructor)
 
SWC_CAN_INLINE iterator erase (const_iterator first, const_iterator last) noexcept(_NoExceptMoveAssign &&_NoExceptDestructor)
 
SWC_CAN_INLINE void pop_back () noexcept(_NoExceptDestructor)
 

Additional Inherited Members

- Static Public Member Functions inherited from SWC::Core::Vector< KeyInterval >
constexpr static SWC_CAN_INLINE size_type max_size () noexcept
 

Detailed Description

Definition at line 94 of file SpecsKeyIntervals.h.

Member Typedef Documentation

◆ Vec

Constructor & Destructor Documentation

◆ KeyIntervals() [1/4]

SWC_CAN_INLINE SWC::DB::Specs::KeyIntervals::KeyIntervals ( )
inlinenoexcept

Definition at line 102 of file SpecsKeyIntervals.h.

◆ KeyIntervals() [2/4]

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

Definition at line 105 of file SpecsKeyIntervals.h.

References decode().

+ Here is the call graph for this function:

◆ KeyIntervals() [3/4]

SWC_CAN_INLINE SWC::DB::Specs::KeyIntervals::KeyIntervals ( KeyIntervals &&  other)
inlinenoexcept

Definition at line 110 of file SpecsKeyIntervals.h.

◆ ~KeyIntervals()

SWC::DB::Specs::KeyIntervals::~KeyIntervals ( )
noexcept

Definition at line 22 of file SpecsKeyIntervals.cc.

◆ KeyIntervals() [4/4]

SWC::DB::Specs::KeyIntervals::KeyIntervals ( const KeyIntervals other)

Definition at line 18 of file SpecsKeyIntervals.cc.

Member Function Documentation

◆ add() [1/5]

KeyInterval & SWC::DB::Specs::KeyIntervals::add ( )

Definition at line 28 of file SpecsKeyIntervals.cc.

References SWC::Core::Vector< KeyInterval >::emplace_back().

Referenced by SWC::Ranger::Query::Select::CheckMeta::CheckMeta(), SWC::Manager::ColumnHealthCheck::finishing(), SWC::client::SQL::QuerySelect::read_cells_interval(), SWC::DB::RgrData::remove(), SWC::Ranger::CompactRange::response(), SWC::DB::RgrData::BaseSelector::scan(), SWC::Utils::LoadGenerator::select_data(), and SWC::Utils::shell::Statistics::show().

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

◆ add() [2/5]

KeyInterval & SWC::DB::Specs::KeyIntervals::add ( const Key start,
const Key finish 
)

Definition at line 40 of file SpecsKeyIntervals.cc.

References SWC::Core::Vector< KeyInterval >::emplace_back().

+ Here is the call graph for this function:

◆ add() [3/5]

KeyInterval & SWC::DB::Specs::KeyIntervals::add ( const KeyInterval other)

Definition at line 32 of file SpecsKeyIntervals.cc.

References SWC::Core::Vector< KeyInterval >::emplace_back().

+ Here is the call graph for this function:

◆ add() [4/5]

KeyInterval & SWC::DB::Specs::KeyIntervals::add ( Key &&  start,
Key &&  finish 
)

Definition at line 44 of file SpecsKeyIntervals.cc.

References SWC::Core::Vector< KeyInterval >::emplace_back().

+ Here is the call graph for this function:

◆ add() [5/5]

KeyInterval & SWC::DB::Specs::KeyIntervals::add ( KeyInterval &&  other)

Definition at line 36 of file SpecsKeyIntervals.cc.

References SWC::Core::Vector< KeyInterval >::emplace_back().

+ Here is the call graph for this function:

◆ copy()

void SWC::DB::Specs::KeyIntervals::copy ( const KeyIntervals other)

Definition at line 24 of file SpecsKeyIntervals.cc.

References SWC::Core::Vector< KeyInterval >::operator=().

Referenced by SWC::DB::Specs::Interval::copy(), and operator=().

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

◆ decode()

SWC_CAN_INLINE void SWC::DB::Specs::KeyIntervals::decode ( const uint8_t **  bufp,
size_t *  remainp 
)
inline

Definition at line 173 of file SpecsKeyIntervals.h.

References SWC::Core::Vector< KeyInterval >::clear(), SWC::Serialization::decode_vi64(), and SWC::Core::Vector< KeyInterval >::resize().

Referenced by SWC::DB::Specs::Interval::decode(), and KeyIntervals().

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

◆ display()

void SWC::DB::Specs::KeyIntervals::display ( std::ostream &  out,
bool  pretty,
const std::string &  offset 
) const

Definition at line 72 of file SpecsKeyIntervals.cc.

Referenced by SWC::DB::Specs::Interval::display().

+ Here is the caller graph for this function:

◆ encode()

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

Definition at line 166 of file SpecsKeyIntervals.h.

References SWC::Serialization::encode_vi64(), and SWC::Core::Vector< KeyInterval >::size().

Referenced by SWC::DB::Specs::Interval::encode().

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

◆ encoded_length()

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

Definition at line 158 of file SpecsKeyIntervals.h.

References SWC::Serialization::encoded_length_vi64(), and SWC::Core::Vector< KeyInterval >::size().

Referenced by SWC::DB::Specs::Interval::encoded_length().

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

◆ equal()

bool SWC::DB::Specs::KeyIntervals::equal ( const KeyIntervals other) const
noexcept

Definition at line 48 of file SpecsKeyIntervals.cc.

References size.

◆ is_matching()

SWC_CAN_INLINE bool SWC::DB::Specs::KeyIntervals::is_matching ( const Types::KeySeq  key_seq,
const DB::Cell::Key cellkey 
) const

Definition at line 201 of file SpecsKeyIntervals.h.

References SWC::Core::Vector< KeyInterval >::empty(), and SWC::DB::Types::UNKNOWN.

Referenced by SWC::DB::Specs::Interval::is_matching().

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

◆ is_matching_start()

SWC_CAN_INLINE bool SWC::DB::Specs::KeyIntervals::is_matching_start ( const Types::KeySeq  key_seq,
const DB::Cell::Key cellkey 
) const

Definition at line 229 of file SpecsKeyIntervals.h.

References SWC::DB::Types::UNKNOWN.

Referenced by SWC::Ranger::CompactRange::selector().

+ Here is the caller graph for this function:

◆ move()

SWC_CAN_INLINE void SWC::DB::Specs::KeyIntervals::move ( KeyIntervals other)
inlinenoexcept

Definition at line 129 of file SpecsKeyIntervals.h.

References SWC::Core::Vector< KeyInterval >::operator=().

Referenced by operator=().

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

◆ operator=() [1/2]

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

Definition at line 117 of file SpecsKeyIntervals.h.

References copy().

+ Here is the call graph for this function:

◆ operator=() [2/2]

SWC_CAN_INLINE KeyIntervals& SWC::DB::Specs::KeyIntervals::operator= ( KeyIntervals &&  other)
inlinenoexcept

Definition at line 123 of file SpecsKeyIntervals.h.

References move().

+ Here is the call graph for this function:

◆ print()

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

Definition at line 59 of file SpecsKeyIntervals.cc.

References SWC::Core::Vector< KeyInterval >::empty(), and SWC::Core::Vector< KeyInterval >::size().

Referenced by SWC::DB::Specs::Interval::print().

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

◆ size_of_internal()

SWC_CAN_INLINE size_t SWC::DB::Specs::KeyIntervals::size_of_internal ( ) const
noexcept

Definition at line 190 of file SpecsKeyIntervals.h.

Referenced by SWC::DB::Specs::Interval::size_of_internal().

+ Here is the caller graph for this function:

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