![SWC-DB logo](logo.svg) |
SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
|
Go to the documentation of this file.
7 #ifndef swcdb_db_cells_SpecsInterval_h
8 #define swcdb_db_cells_SpecsInterval_h
23 namespace SWC {
namespace DB {
namespace Specs {
33 typedef std::shared_ptr<Interval>
Ptr;
60 explicit Interval(
const uint8_t** bufp,
size_t* remainp);
93 int64_t timestamp,
bool desc)
const {
143 void encode(uint8_t** bufp) const;
145 void decode(const uint8_t** bufp,
size_t* remainp,
bool owner);
209 bool* end_restp =
nullptr)
const {
217 bool* restp =
nullptr)
const;
220 bool rest,
bool no_stepping)
const;
226 std::stringstream ss;
233 void print(std::ostream& out)
const;
235 void display(std::ostream& out,
bool pretty=
false,
236 const std::string& offset =
"")
const;
269 case Types::KeySeq::LEXIC:
275 case Types::KeySeq::VOLUME:
281 case Types::KeySeq::FC_LEXIC:
304 case Types::KeySeq::LEXIC:
313 case Types::KeySeq::VOLUME:
322 case Types::KeySeq::FC_LEXIC:
356 case Types::KeySeq::LEXIC:
365 case Types::KeySeq::VOLUME:
374 case Types::KeySeq::FC_LEXIC:
414 #ifdef SWC_IMPL_SOURCE
418 #endif // swcdb_db_cells_SpecsInterval_h
bool is_matching(const Types::KeySeq key_seq, const DB::Cell::Key &cellkey) const
bool is_matching_end(const Types::KeySeq key_seq, const DB::Cell::Key &key) const
SWC_CAN_INLINE void apply_possible_range(DB::Cell::Key &begin, DB::Cell::Key &end, bool *end_restp=nullptr) const
Condition::Comp compare_opt_volume(const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
static SWC_CAN_INLINE Ptr make_ptr(Interval &&other)
KeyIntervals key_intervals
static constexpr const uint8_t OPT_KEY_EQUAL
size_t size_of_internal() const noexcept
bool is_matching(const Cells::Cell &cell) const
size_t size_of_internal() const noexcept
static constexpr const uint8_t OPT_RANGE_END_REST
constexpr SWC_CAN_INLINE bool has_opt__deleting() const noexcept
static constexpr const uint8_t OPT_UPDATING
size_t SWC_PURE_FUNC encoded_length() const noexcept
std::shared_ptr< Interval > Ptr
SWC_CAN_INLINE Interval & operator=(const Interval &other)
void print(std::ostream &out) const
Condition::Comp compare_opt_fc_lexic(const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
void encode(uint8_t **bufp) const
void apply_possible_range_end(DB::Cell::Key &end, bool *restp=nullptr) const
Condition::Comp compare_opt_lexic(const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
bool is_in_previous(const Types::KeySeq key_seq, const DB::Cell::Key &prev) const
SWC_CAN_INLINE std::string to_string() const
void move(Interval &other) noexcept
constexpr SWC_CAN_INLINE bool empty() const noexcept
SWC_CAN_INLINE void apply_possible_range_pure()
constexpr SWC_CAN_INLINE bool empty() const noexcept
constexpr SWC_CAN_INLINE bool is_time_order_desc() const noexcept
SWC_CAN_INLINE bool is_matching(const Types::KeySeq key_seq, const Cells::Cell &cell, bool &stop) const
bool SWC_PURE_FUNC equal(const Interval &other) const noexcept
The SWC-DB C++ namespace 'SWC'.
void copy(const Interval &other)
void display(std::ostream &out, bool pretty=false, const std::string &offset="") const
constexpr SWC_CAN_INLINE bool has_opt__key_equal() const noexcept
constexpr SWC_CAN_INLINE bool has_opt__range_end_rest() const noexcept
void decode(const uint8_t **bufp, size_t *remainp, bool owner)
static SWC_CAN_INLINE Ptr make_ptr(const uint8_t **bufp, size_t *remainp)
static SWC_CAN_INLINE Ptr make_ptr(const Interval &other)
bool is_matching_begin(const Types::KeySeq key_seq, const DB::Cell::Key &key) const
constexpr SWC_CAN_INLINE void set_opt__range_end_rest() noexcept
static SWC_CAN_INLINE Ptr make_ptr(Types::Column col_type=Types::Column::UNKNOWN)
static constexpr const uint8_t OPT_DELETING
constexpr SWC_CAN_INLINE void set_opt__updating() noexcept
IntervalUpdate::Ptr updating
Condition::Comp compare_opt_fc_volume(const Cell::Key &opt_empty, const Cell::Key &other, uint24_t max, bool empty_eq) SWC_ATTRIBS((SWC_ATTRIB_O3))
constexpr SWC_CAN_INLINE int64_t get_timestamp() const noexcept
Interval(Types::Column col_type=Types::Column::UNKNOWN) noexcept
SWC_CAN_INLINE Interval & operator=(Interval &&other) noexcept
void apply_possible_range_begin(DB::Cell::Key &begin) const
constexpr SWC_CAN_INLINE bool has_opt__updating() const noexcept
constexpr SWC_CAN_INLINE bool is_matching(int64_t timestamp, bool desc) const noexcept
SWC_CAN_INLINE bool is_updating() const noexcept
constexpr SWC_CAN_INLINE void set_opt__deleting() noexcept
constexpr SWC_CAN_INLINE void set_opt__key_equal() noexcept
size_t size_of_internal() const noexcept
SWC_CAN_INLINE bool is_matching(const Types::KeySeq key_seq, const Cell::Key &key, int64_t timestamp, bool desc) const
SWC_CAN_INLINE bool is_matching(int64_t other) const noexcept
std::unique_ptr< IntervalUpdate > Ptr
Condition::Comp compare(const Types::KeySeq seq, const Cell::Key &key, const Cell::Key &other) SWC_ATTRIBS((SWC_ATTRIB_O3))