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::Condition Namespace Reference

The SWC-DB Comparators C++ namespace 'SWC::Condition'. More...

Enumerations

enum  Comp : uint8_t {
  NONE = 0x00,
  PF = 0x01,
  GT = 0x02,
  GE = 0x03,
  EQ = 0x04,
  LE = 0x05,
  LT = 0x06,
  NE = 0x07,
  RE = 0x08,
  VGT = 0x09,
  VGE = 0x0A,
  VLE = 0x0B,
  VLT = 0x0C,
  SBS = 0x0D,
  SPS = 0x0E,
  POSBS = 0x0F,
  POSPS = 0x10,
  FOSBS = 0x11,
  FOSPS = 0x12,
  FIP = 0x13,
  FI = 0x14
}
 

Functions

Comp from (const char **buf, uint32_t *remainp, uint8_t extended=0x00) noexcept
 
const char *SWC_CONST_FUNC to_string (Comp comp) noexcept
 
SWC_CAN_INLINE const char * to_string (uint8_t comp)
 
SWC_CAN_INLINE Comp condition_lexic (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE Comp condition_volume (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE Comp condition (bool vol, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool pf (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool gt_lexic (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool gt_volume (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool ge_lexic (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool ge_volume (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool eq (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool le_lexic (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool le_volume (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool lt_lexic (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool lt_volume (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool ne (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
bool re (const re2::RE2 &regex, const re2::StringPiece &value)
 
SWC_CAN_INLINE bool re (const re2::RE2 &regex, const char *v, uint32_t v_len)
 
SWC_CAN_INLINE bool re (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len)
 
SWC_CAN_INLINE bool sbs (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool SWC_PURE_FUNC po_sbs (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool SWC_PURE_FUNC fo_sbs (const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len) noexcept
 
SWC_CAN_INLINE bool is_matching_lexic (uint8_t comp, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len)
 
SWC_CAN_INLINE bool is_matching_volume (uint8_t comp, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len)
 
SWC_CAN_INLINE bool is_matching_lexic (uint8_t comp, const char *p1, uint32_t p1_len, const char *p2, uint32_t p2_len)
 
SWC_CAN_INLINE bool is_matching_volume (uint8_t comp, const char *p1, uint32_t p1_len, const char *p2, uint32_t p2_len)
 
SWC_CAN_INLINE bool is_matching (bool volumetric, uint8_t comp, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len)
 
SWC_CAN_INLINE bool is_matching (bool volumetric, uint8_t comp, const char *p1, uint32_t p1_len, const char *p2, uint32_t p2_len)
 
SWC_CAN_INLINE bool is_matching_extended (uint8_t comp, const uint8_t *p1, uint32_t p1_len, const uint8_t *p2, uint32_t p2_len)
 
template<typename T >
constexpr SWC_CAN_INLINE bool gt (const T p1, const T p2) noexcept
 
template<typename T >
constexpr SWC_CAN_INLINE bool ge (const T p1, const T p2) noexcept
 
template<typename T >
constexpr SWC_CAN_INLINE bool eq (const T p1, const T p2) noexcept
 
template<typename T >
constexpr SWC_CAN_INLINE bool le (const T p1, const T p2) noexcept
 
template<typename T >
constexpr SWC_CAN_INLINE bool lt (const T p1, const T p2) noexcept
 
template<typename T >
constexpr SWC_CAN_INLINE bool ne (const T p1, const T p2) noexcept
 
template<typename T >
constexpr SWC_CAN_INLINE bool sbs (const T p1, const T p2) noexcept
 
template<>
SWC_CAN_INLINE bool sbs (const long double p1, const long double p2) noexcept
 
template<typename T >
constexpr SWC_CAN_INLINE bool fo_sbs (const T p1, const T p2) noexcept
 
template<>
constexpr SWC_CAN_INLINE bool fo_sbs (const long double, const long double) noexcept
 
template<typename T >
SWC_CAN_INLINE bool is_matching (uint8_t comp, const T p1, const T p2) noexcept
 
int mem_cmp (const uint8_t *b1, const uint8_t *b2, size_t count) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool mem_eq (const uint8_t *b1, const uint8_t *b2, size_t count) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
int str_cmp (const char *s1, const char *s2) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
int str_cmp (const char *s1, const char *s2, size_t count) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool str_eq (const char *s1, const char *s2) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool str_eq (const char *s1, const char *s2, size_t count) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool str_case_eq (const char *s1, const char *s2, size_t count) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool str_eq (const std::string &s1, const std::string &s2) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 
bool mem_eq (const std::string &s1, const std::string &s2) noexcept SWC_ATTRIBS((SWC_ATTRIB_O3))
 

Variables

const uint COMP_EXTENDED_VALUE = 0x01
 
const uint COMP_EXTENDED_KEY = 0x02
 
const char COMP_NONE [] = "none"
 
const char COMP_PF [] = "=^"
 
const char COMP_GT [] = ">"
 
const char COMP_GE [] = ">="
 
const char COMP_EQ [] = "=="
 
const char COMP_LE [] = "<="
 
const char COMP_LT [] = "<"
 
const char COMP_NE [] = "!="
 
const char COMP_RE [] = "re"
 
const char COMP_VGT [] = "v>"
 
const char COMP_VGE [] = "v>="
 
const char COMP_VLE [] = "v<="
 
const char COMP_VLT [] = "v<"
 
const char COMP_SBS [] = "%>"
 
const char COMP_SPS [] = "<%"
 
const char COMP_POSBS [] = "~>"
 
const char COMP_POSPS [] = "<~"
 
const char COMP_FOSBS [] = "->"
 
const char COMP_FOSPS [] = "<-"
 
const char COMP_FIP [] = ":<"
 
const char COMP_FI [] = ":"
 

Detailed Description

The SWC-DB Comparators C++ namespace 'SWC::Condition'.

Enumeration Type Documentation

◆ Comp

enum SWC::Condition::Comp : uint8_t
Enumerator
NONE 
PF 
GT 
GE 
EQ 
LE 
LT 
NE 
RE 
VGT 
VGE 
VLE 
VLT 
SBS 
SPS 
POSBS 
POSPS 
FOSBS 
FOSPS 
FIP 
FI 

Definition at line 27 of file Comparators.h.

Function Documentation

◆ condition()

SWC_CAN_INLINE Comp SWC::Condition::condition ( bool  vol,
const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 154 of file Comparators.h.

References condition_lexic(), and condition_volume().

+ Here is the call graph for this function:

◆ condition_lexic()

SWC_CAN_INLINE Comp SWC::Condition::condition_lexic ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 119 of file Comparators.h.

References EQ, GT, LT, and mem_cmp().

Referenced by condition(), and SWC::DB::KeySeq::condition< Types::KeySeq::LEXIC >().

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

◆ condition_volume()

SWC_CAN_INLINE Comp SWC::Condition::condition_volume ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 132 of file Comparators.h.

References EQ, GT, LT, and mem_cmp().

Referenced by condition(), and SWC::DB::KeySeq::condition< Types::KeySeq::VOLUME >().

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

◆ eq() [1/2]

template<typename T >
constexpr SWC_CAN_INLINE bool SWC::Condition::eq ( const T  p1,
const T  p2 
)
constexprnoexcept

Definition at line 540 of file Comparators.h.

◆ eq() [2/2]

SWC_CAN_INLINE bool SWC::Condition::eq ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 195 of file Comparators.h.

References mem_eq().

Referenced by SWC::Core::Mem::Item::equal(), SWC::DB::Cell::Key::equal(), SWC::client::SQL::Reader::expect_eq(), is_matching(), is_matching_extended(), is_matching_lexic(), is_matching_volume(), ne(), SWC::client::SQL::QuerySelect::read_cells_intervals(), and SWC::client::SQL::QuerySelect::read_columns_intervals().

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

◆ fo_sbs() [1/3]

template<>
constexpr SWC_CAN_INLINE bool SWC::Condition::fo_sbs ( const long double  ,
const long double   
)
constexprnoexcept

Definition at line 582 of file Comparators.h.

◆ fo_sbs() [2/3]

template<typename T >
constexpr SWC_CAN_INLINE bool SWC::Condition::fo_sbs ( const T  p1,
const T  p2 
)
constexprnoexcept

Definition at line 576 of file Comparators.h.

◆ fo_sbs() [3/3]

SWC_CAN_INLINE bool SWC_PURE_FUNC SWC::Condition::fo_sbs ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 289 of file Comparators.h.

Referenced by is_matching(), is_matching_extended(), is_matching_lexic(), and is_matching_volume().

+ Here is the caller graph for this function:

◆ from()

Comp SWC::Condition::from ( const char **  buf,
uint32_t *  remainp,
uint8_t  extended = 0x00 
)
noexcept

Definition at line 15 of file Comparators.cc.

References COMP_EQ, COMP_EXTENDED_KEY, COMP_EXTENDED_VALUE, COMP_FIP, COMP_FOSBS, COMP_FOSPS, COMP_GE, COMP_LE, COMP_NE, COMP_PF, COMP_POSBS, COMP_POSPS, COMP_RE, COMP_SBS, COMP_SPS, COMP_VGE, COMP_VGT, COMP_VLE, COMP_VLT, EQ, FI, FIP, FOSBS, FOSPS, GE, GT, LE, LT, NE, NONE, PF, POSBS, POSPS, RE, SBS, SPS, str_case_eq(), VGE, VGT, VLE, and VLT.

Referenced by SWC::Manager::Rangers::_changes(), SWC::client::Query::Update::Handlers::Common::commit_or_wait(), SWC::client::SQL::Reader::found_comparator(), SWC::Comm::Protocol::FsBroker::Req::Base::handle_rename(), SWC::FS::FileSystem::rename(), SWC::FS::Interface::rename(), SWC::FS::FileSystemBroker::rename(), SWC::FS::FileSystemCeph::rename(), SWC::FS::FileSystemHadoop::rename(), SWC::FS::FileSystemHadoopJVM::rename(), SWC::FS::FileSystemLocal::rename(), SWC::Config::Property::Value_bool::set_from(), SWC::Config::Property::Value_uint8::set_from(), SWC::Config::Property::Value_uint16::set_from(), SWC::Config::Property::Value_int32::set_from(), SWC::Config::Property::Value_int64::set_from(), SWC::Config::Property::Value_double::set_from(), SWC::Config::Property::Value_string::set_from(), SWC::Config::Property::Value_enum::set_from(), SWC::Config::Property::Value_strings::set_from(), SWC::Config::Property::Value_int64s::set_from(), SWC::Config::Property::Value_doubles::set_from(), SWC::Config::Property::Value_bool_g::set_from(), SWC::Config::Property::Value_uint8_g::set_from(), SWC::Config::Property::Value_uint16_g::set_from(), SWC::Config::Property::Value_int32_g::set_from(), SWC::Config::Property::Value_uint64_g::set_from(), SWC::Config::Property::Value_enum_g::set_from(), SWC::Config::Property::Value_strings_g::set_from(), and SWC::client::Query::Update::Handlers::Common::wait_ahead_buffers().

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

◆ ge()

template<typename T >
constexpr SWC_CAN_INLINE bool SWC::Condition::ge ( const T  p1,
const T  p2 
)
constexprnoexcept

Definition at line 534 of file Comparators.h.

Referenced by is_matching().

+ Here is the caller graph for this function:

◆ ge_lexic()

SWC_CAN_INLINE bool SWC::Condition::ge_lexic ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 181 of file Comparators.h.

References mem_cmp().

Referenced by is_matching_extended(), and is_matching_lexic().

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

◆ ge_volume()

SWC_CAN_INLINE bool SWC::Condition::ge_volume ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 188 of file Comparators.h.

References mem_cmp().

Referenced by is_matching_extended(), and is_matching_volume().

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

◆ gt()

template<typename T >
constexpr SWC_CAN_INLINE bool SWC::Condition::gt ( const T  p1,
const T  p2 
)
constexprnoexcept

Definition at line 528 of file Comparators.h.

Referenced by is_matching().

+ Here is the caller graph for this function:

◆ gt_lexic()

SWC_CAN_INLINE bool SWC::Condition::gt_lexic ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 167 of file Comparators.h.

References mem_cmp().

Referenced by is_matching_extended(), and is_matching_lexic().

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

◆ gt_volume()

SWC_CAN_INLINE bool SWC::Condition::gt_volume ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 174 of file Comparators.h.

References mem_cmp().

Referenced by is_matching_extended(), and is_matching_volume().

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

◆ is_matching() [1/3]

SWC_CAN_INLINE bool SWC::Condition::is_matching ( bool  volumetric,
uint8_t  comp,
const char *  p1,
uint32_t  p1_len,
const char *  p2,
uint32_t  p2_len 
)

Definition at line 448 of file Comparators.h.

References is_matching().

+ Here is the call graph for this function:

◆ is_matching() [2/3]

SWC_CAN_INLINE bool SWC::Condition::is_matching ( bool  volumetric,
uint8_t  comp,
const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)

Definition at line 439 of file Comparators.h.

References is_matching_lexic(), and is_matching_volume().

Referenced by is_matching(), SWC::DB::Specs::Serial::Value::Field_INT64::is_matching(), SWC::DB::Specs::Serial::Value::Field_DOUBLE::is_matching(), SWC::DB::Specs::Serial::Value::Field_LIST_INT64::is_matching(), SWC::DB::Cell::Serial::Value::FieldUpdate_MATH::is_matching(), SWC::DB::Specs::Timestamp::is_matching(), SWC::DB::Specs::Value::is_matching_counter(), and SWC::DB::Schemas::matching().

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

◆ is_matching() [3/3]

template<typename T >
SWC_CAN_INLINE bool SWC::Condition::is_matching ( uint8_t  comp,
const T  p1,
const T  p2 
)
noexcept

Definition at line 598 of file Comparators.h.

References EQ, eq(), fo_sbs(), FOSBS, FOSPS, GE, ge(), GT, gt(), LE, le(), LT, lt(), NE, ne(), SBS, sbs(), and SPS.

+ Here is the call graph for this function:

◆ is_matching_extended()

SWC_CAN_INLINE bool SWC::Condition::is_matching_extended ( uint8_t  comp,
const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)

Definition at line 459 of file Comparators.h.

References EQ, eq(), fo_sbs(), FOSBS, FOSPS, GE, ge_lexic(), ge_volume(), GT, gt_lexic(), gt_volume(), LE, le_lexic(), le_volume(), LT, lt_lexic(), lt_volume(), NE, ne(), PF, pf(), po_sbs(), POSBS, POSPS, RE, re(), SBS, sbs(), SPS, VGE, VGT, VLE, and VLT.

Referenced by SWC::DB::Specs::Serial::Value::Field_BYTES::is_matching(), SWC::DB::Specs::Serial::Value::Field_LIST_BYTES::is_matching(), SWC::DB::Cell::Serial::Value::FieldUpdate_LIST::is_matching(), SWC::DB::Specs::Value::is_matching_plain(), and SWC::DB::Schemas::matching().

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

◆ is_matching_lexic() [1/2]

SWC_CAN_INLINE bool SWC::Condition::is_matching_lexic ( uint8_t  comp,
const char *  p1,
uint32_t  p1_len,
const char *  p2,
uint32_t  p2_len 
)

Definition at line 416 of file Comparators.h.

References is_matching_lexic().

+ Here is the call graph for this function:

◆ is_matching_lexic() [2/2]

SWC_CAN_INLINE bool SWC::Condition::is_matching_lexic ( uint8_t  comp,
const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)

Definition at line 308 of file Comparators.h.

References EQ, eq(), fo_sbs(), FOSBS, FOSPS, GE, ge_lexic(), GT, gt_lexic(), LE, le_lexic(), LT, lt_lexic(), NE, ne(), PF, pf(), po_sbs(), POSBS, POSPS, RE, re(), SBS, sbs(), and SPS.

Referenced by is_matching(), SWC::DB::KeySeq::is_matching< Types::KeySeq::LEXIC >(), and is_matching_lexic().

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

◆ is_matching_volume() [1/2]

SWC_CAN_INLINE bool SWC::Condition::is_matching_volume ( uint8_t  comp,
const char *  p1,
uint32_t  p1_len,
const char *  p2,
uint32_t  p2_len 
)

Definition at line 427 of file Comparators.h.

References is_matching_volume().

+ Here is the call graph for this function:

◆ is_matching_volume() [2/2]

SWC_CAN_INLINE bool SWC::Condition::is_matching_volume ( uint8_t  comp,
const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)

Definition at line 361 of file Comparators.h.

References EQ, eq(), fo_sbs(), FOSBS, FOSPS, GE, ge_volume(), GT, gt_volume(), LE, le_volume(), LT, lt_volume(), NE, ne(), PF, pf(), po_sbs(), POSBS, POSPS, RE, re(), SBS, sbs(), and SPS.

Referenced by is_matching(), SWC::DB::KeySeq::is_matching< Types::KeySeq::VOLUME >(), and is_matching_volume().

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

◆ le()

template<typename T >
constexpr SWC_CAN_INLINE bool SWC::Condition::le ( const T  p1,
const T  p2 
)
constexprnoexcept

Definition at line 546 of file Comparators.h.

Referenced by is_matching().

+ Here is the caller graph for this function:

◆ le_lexic()

SWC_CAN_INLINE bool SWC::Condition::le_lexic ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 201 of file Comparators.h.

References mem_cmp().

Referenced by is_matching_extended(), and is_matching_lexic().

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

◆ le_volume()

SWC_CAN_INLINE bool SWC::Condition::le_volume ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 208 of file Comparators.h.

References mem_cmp().

Referenced by is_matching_extended(), and is_matching_volume().

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

◆ lt()

template<typename T >
constexpr SWC_CAN_INLINE bool SWC::Condition::lt ( const T  p1,
const T  p2 
)
constexprnoexcept

Definition at line 552 of file Comparators.h.

Referenced by is_matching().

+ Here is the caller graph for this function:

◆ lt_lexic()

SWC_CAN_INLINE bool SWC::Condition::lt_lexic ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 215 of file Comparators.h.

References mem_cmp().

Referenced by is_matching_extended(), and is_matching_lexic().

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

◆ lt_volume()

SWC_CAN_INLINE bool SWC::Condition::lt_volume ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 222 of file Comparators.h.

References mem_cmp().

Referenced by SWC::DB::Cells::TSV::FileReader::initialize(), is_matching_extended(), is_matching_volume(), and SWC::Utils::shell::Fs::ls().

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

◆ mem_cmp()

SWC_CAN_INLINE int SWC::Condition::mem_cmp ( const uint8_t *  b1,
const uint8_t *  b2,
size_t  count 
)
noexcept

Definition at line 197 of file Comparators_basic.h.

Referenced by condition_lexic(), condition_volume(), ge_lexic(), ge_volume(), gt_lexic(), gt_volume(), le_lexic(), le_volume(), SWC::Core::Mem::Item::less(), lt_lexic(), and lt_volume().

+ Here is the caller graph for this function:

◆ mem_eq() [1/2]

SWC_CAN_INLINE bool SWC::Condition::mem_eq ( const std::string &  s1,
const std::string &  s2 
)
noexcept

Definition at line 274 of file Comparators_basic.h.

References mem_eq().

+ Here is the call graph for this function:

◆ mem_eq() [2/2]

SWC_CAN_INLINE bool SWC::Condition::mem_eq ( const uint8_t *  b1,
const uint8_t *  b2,
size_t  count 
)
noexcept

Definition at line 207 of file Comparators_basic.h.

Referenced by eq(), SWC::DB::Cells::Cell::equal(), SWC::DB::Specs::IntervalUpdate::equal(), SWC::DB::Specs::Value::equal(), mem_eq(), SWC::DB::Specs::Fraction::operator==(), and pf().

+ Here is the caller graph for this function:

◆ ne() [1/2]

template<typename T >
constexpr SWC_CAN_INLINE bool SWC::Condition::ne ( const T  p1,
const T  p2 
)
constexprnoexcept

Definition at line 558 of file Comparators.h.

◆ ne() [2/2]

SWC_CAN_INLINE bool SWC::Condition::ne ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 229 of file Comparators.h.

References eq().

Referenced by is_matching(), is_matching_extended(), is_matching_lexic(), and is_matching_volume().

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

◆ pf()

SWC_CAN_INLINE bool SWC::Condition::pf ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 161 of file Comparators.h.

References mem_eq().

Referenced by is_matching_extended(), is_matching_lexic(), and is_matching_volume().

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

◆ po_sbs()

SWC_CAN_INLINE bool SWC_PURE_FUNC SWC::Condition::po_sbs ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 275 of file Comparators.h.

Referenced by is_matching_extended(), is_matching_lexic(), and is_matching_volume().

+ Here is the caller graph for this function:

◆ re() [1/3]

SWC_CAN_INLINE bool SWC::Condition::re ( const re2::RE2 &  regex,
const char *  v,
uint32_t  v_len 
)

Definition at line 238 of file Comparators.h.

References re().

+ Here is the call graph for this function:

◆ re() [2/3]

bool SWC::Condition::re ( const re2::RE2 &  regex,
const re2::StringPiece &  value 
)

Definition at line 225 of file Comparators.cc.

Referenced by SWC::DB::Specs::Fraction::is_matching(), is_matching_extended(), is_matching_lexic(), SWC::DB::Specs::Value::is_matching_plain(), is_matching_volume(), and re().

+ Here is the caller graph for this function:

◆ re() [3/3]

SWC_CAN_INLINE bool SWC::Condition::re ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)

Definition at line 243 of file Comparators.h.

References re().

+ Here is the call graph for this function:

◆ sbs() [1/3]

template<>
SWC_CAN_INLINE bool SWC::Condition::sbs ( const long double  p1,
const long double  p2 
)
noexcept

Definition at line 570 of file Comparators.h.

◆ sbs() [2/3]

template<typename T >
constexpr SWC_CAN_INLINE bool SWC::Condition::sbs ( const T  p1,
const T  p2 
)
constexprnoexcept

Definition at line 564 of file Comparators.h.

◆ sbs() [3/3]

SWC_CAN_INLINE bool SWC::Condition::sbs ( const uint8_t *  p1,
uint32_t  p1_len,
const uint8_t *  p2,
uint32_t  p2_len 
)
noexcept

Definition at line 254 of file Comparators.h.

Referenced by is_matching(), is_matching_extended(), is_matching_lexic(), and is_matching_volume().

+ Here is the caller graph for this function:

◆ str_case_eq()

◆ str_cmp() [1/2]

SWC_CAN_INLINE int SWC::Condition::str_cmp ( const char *  s1,
const char *  s2 
)
noexcept

Definition at line 217 of file Comparators_basic.h.

◆ str_cmp() [2/2]

SWC_CAN_INLINE int SWC::Condition::str_cmp ( const char *  s1,
const char *  s2,
size_t  count 
)
noexcept

Definition at line 227 of file Comparators_basic.h.

◆ str_eq() [1/3]

◆ str_eq() [2/3]

SWC_CAN_INLINE bool SWC::Condition::str_eq ( const char *  s1,
const char *  s2,
size_t  count 
)
noexcept

Definition at line 247 of file Comparators_basic.h.

◆ str_eq() [3/3]

SWC_CAN_INLINE bool SWC::Condition::str_eq ( const std::string &  s1,
const std::string &  s2 
)
noexcept

Definition at line 268 of file Comparators_basic.h.

References str_eq().

+ Here is the call graph for this function:

◆ to_string() [1/2]

◆ to_string() [2/2]

SWC_CAN_INLINE const char* SWC::Condition::to_string ( uint8_t  comp)

Definition at line 111 of file Comparators.h.

References to_string().

+ Here is the call graph for this function:

Variable Documentation

◆ COMP_EQ

const char SWC::Condition::COMP_EQ[] = "=="

Definition at line 86 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_EXTENDED_KEY

const uint SWC::Condition::COMP_EXTENDED_KEY = 0x02

◆ COMP_EXTENDED_VALUE

◆ COMP_FI

const char SWC::Condition::COMP_FI[] = ":"

Definition at line 102 of file Comparators.h.

Referenced by to_string().

◆ COMP_FIP

const char SWC::Condition::COMP_FIP[] = ":<"

Definition at line 101 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_FOSBS

const char SWC::Condition::COMP_FOSBS[] = "->"

Definition at line 99 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_FOSPS

const char SWC::Condition::COMP_FOSPS[] = "<-"

Definition at line 100 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_GE

const char SWC::Condition::COMP_GE[] = ">="

Definition at line 85 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_GT

const char SWC::Condition::COMP_GT[] = ">"

Definition at line 84 of file Comparators.h.

Referenced by to_string().

◆ COMP_LE

const char SWC::Condition::COMP_LE[] = "<="

Definition at line 87 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_LT

const char SWC::Condition::COMP_LT[] = "<"

Definition at line 88 of file Comparators.h.

Referenced by to_string().

◆ COMP_NE

const char SWC::Condition::COMP_NE[] = "!="

Definition at line 89 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_NONE

const char SWC::Condition::COMP_NONE[] = "none"

Definition at line 82 of file Comparators.h.

Referenced by to_string().

◆ COMP_PF

const char SWC::Condition::COMP_PF[] = "=^"

Definition at line 83 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_POSBS

const char SWC::Condition::COMP_POSBS[] = "~>"

Definition at line 97 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_POSPS

const char SWC::Condition::COMP_POSPS[] = "<~"

Definition at line 98 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_RE

const char SWC::Condition::COMP_RE[] = "re"

Definition at line 90 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_SBS

const char SWC::Condition::COMP_SBS[] = "%>"

Definition at line 95 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_SPS

const char SWC::Condition::COMP_SPS[] = "<%"

Definition at line 96 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_VGE

const char SWC::Condition::COMP_VGE[] = "v>="

Definition at line 92 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_VGT

const char SWC::Condition::COMP_VGT[] = "v>"

Definition at line 91 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_VLE

const char SWC::Condition::COMP_VLE[] = "v<="

Definition at line 93 of file Comparators.h.

Referenced by from(), and to_string().

◆ COMP_VLT

const char SWC::Condition::COMP_VLT[] = "v<"

Definition at line 94 of file Comparators.h.

Referenced by from(), and to_string().