SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
KeyComparator.h File Reference
+ Include dependency graph for KeyComparator.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 SWC
 The SWC-DB C++ namespace 'SWC'.
 
 SWC::DB
 The SWC-DB Database C++ namespace 'SWC::DB'.
 
 SWC::DB::KeySeq
 The SWC-DB Key Comparator C++ namespace 'SWC::DB::KeySeq'.
 

Functions

Condition::Comp SWC::DB::KeySeq::condition (const Types::KeySeq seq, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<Types::KeySeq T_seq>
Condition::Comp SWC::DB::KeySeq::condition (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool SWC::DB::KeySeq::is_matching (const Types::KeySeq seq, Condition::Comp comp, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<Types::KeySeq T_seq>
bool SWC::DB::KeySeq::is_matching (Condition::Comp comp, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
Condition::Comp SWC::DB::KeySeq::compare (const Types::KeySeq seq, const Cell::Key &key, const Cell::Key &other) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<Types::KeySeq T_seq>
Condition::Comp SWC::DB::KeySeq::compare (const Cell::Key &key, const Cell::Key &other) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
Condition::Comp SWC::DB::KeySeq::compare_upto (const Types::KeySeq seq, const Cell::Key &key, const Cell::Key &other, uint24_t max) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
Condition::Comp SWC::DB::KeySeq::compare_opt_lexic (const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
Condition::Comp SWC::DB::KeySeq::compare_opt_volume (const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
Condition::Comp SWC::DB::KeySeq::compare_opt_fc_lexic (const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
Condition::Comp SWC::DB::KeySeq::compare_opt_fc_volume (const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<Types::KeySeq T_seq>
Condition::Comp SWC::DB::KeySeq::compare_opt (const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool SWC::DB::KeySeq::compare (const Types::KeySeq seq, const Cell::Key &key, const Cell::Key &other, Condition::Comp break_if, uint24_t max=0, bool empty_ok=false) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<Types::KeySeq T_seq>
bool SWC::DB::KeySeq::compare (const Cell::Key &key, const Cell::Key &other, Condition::Comp break_if, uint24_t max, bool empty_ok) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool SWC::DB::KeySeq::compare (const Types::KeySeq seq, const Cell::Key &key, const Cell::KeyVec &other, Condition::Comp break_if, uint32_t max=0, bool empty_ok=false) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<Types::KeySeq T_seq>
bool SWC::DB::KeySeq::compare (const Cell::Key &key, const Cell::KeyVec &other, Condition::Comp break_if, uint32_t max, bool empty_ok) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool SWC::DB::KeySeq::align (const Types::KeySeq seq, const Cell::Key &key, Cell::KeyVec &start, Cell::KeyVec &finish) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<Types::KeySeq T_seq>
bool SWC::DB::KeySeq::align (const Cell::Key &key, Cell::KeyVec &start, Cell::KeyVec &finish) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool SWC::DB::KeySeq::align (const Types::KeySeq seq, Cell::KeyVec &key, const Cell::KeyVec &other, Condition::Comp comp) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<Types::KeySeq T_seq>
bool SWC::DB::KeySeq::align (Cell::KeyVec &key, const Cell::KeyVec &other, Condition::Comp comp) SWC_ATTRIBS((SWC_ATTRIB_O3))
 
template<>
SWC_CAN_INLINE Condition::Comp SWC::DB::KeySeq::condition< Types::KeySeq::LEXIC > (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
template<>
SWC_CAN_INLINE Condition::Comp SWC::DB::KeySeq::condition< Types::KeySeq::VOLUME > (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
template<>
SWC_CAN_INLINE bool SWC::DB::KeySeq::is_matching< Types::KeySeq::LEXIC > (Condition::Comp comp, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
template<>
SWC_CAN_INLINE bool SWC::DB::KeySeq::is_matching< Types::KeySeq::VOLUME > (Condition::Comp comp, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
template<Types::KeySeq T_seq>
SWC_CAN_INLINE Condition::Comp SWC::DB::KeySeq::compare (const Cell::Key &key, const Cell::Key &other)
 
template<>
SWC_CAN_INLINE Condition::Comp SWC::DB::KeySeq::compare< Types::KeySeq::FC_LEXIC > (const Cell::Key &key, const Cell::Key &other)
 
template<>
SWC_CAN_INLINE Condition::Comp SWC::DB::KeySeq::compare< Types::KeySeq::FC_VOLUME > (const Cell::Key &key, const Cell::Key &other)
 
template<Types::KeySeq T_seq>
SWC_CAN_INLINE Condition::Comp SWC::DB::KeySeq::compare_opt (const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq)
 
template<>
SWC_CAN_INLINE Condition::Comp SWC::DB::KeySeq::compare_opt< Types::KeySeq::FC_LEXIC > (const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq)
 
template<>
SWC_CAN_INLINE Condition::Comp SWC::DB::KeySeq::compare_opt< Types::KeySeq::FC_VOLUME > (const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq)
 
template<Types::KeySeq T_seq>
SWC_CAN_INLINE bool SWC::DB::KeySeq::compare (const Cell::Key &key, const Cell::Key &other, Condition::Comp break_if, uint24_t max, bool empty_ok)
 
template<>
SWC_CAN_INLINE bool SWC::DB::KeySeq::compare< Types::KeySeq::FC_LEXIC > (const Cell::Key &key, const Cell::Key &other, Condition::Comp break_if, uint24_t max, bool empty_ok)
 
template<>
SWC_CAN_INLINE bool SWC::DB::KeySeq::compare< Types::KeySeq::FC_VOLUME > (const Cell::Key &key, const Cell::Key &other, Condition::Comp break_if, uint24_t max, bool empty_ok)
 
template<Types::KeySeq T_seq>
SWC_CAN_INLINE bool SWC::DB::KeySeq::compare (const Cell::Key &key, const Cell::KeyVec &other, Condition::Comp break_if, uint32_t max, bool empty_ok)
 
template<>
SWC_CAN_INLINE bool SWC::DB::KeySeq::compare< Types::KeySeq::FC_LEXIC > (const Cell::Key &key, const Cell::KeyVec &other, Condition::Comp break_if, uint32_t max, bool empty_ok)
 
template<>
SWC_CAN_INLINE bool SWC::DB::KeySeq::compare< Types::KeySeq::FC_VOLUME > (const Cell::Key &key, const Cell::KeyVec &other, Condition::Comp break_if, uint32_t max, bool empty_ok)
 
template<Types::KeySeq T_seq>
SWC_CAN_INLINE bool SWC::DB::KeySeq::align (const Cell::Key &key, Cell::KeyVec &start, Cell::KeyVec &finish)
 
template<Types::KeySeq T_seq>
SWC_CAN_INLINE bool SWC::DB::KeySeq::align (Cell::KeyVec &key, const Cell::KeyVec &other, Condition::Comp comp)