|
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_SpecsKeyIntervals_h
8 #define swcdb_db_cells_SpecsKeyIntervals_h
15 namespace SWC {
namespace DB {
namespace Specs {
35 :
start(std::move(other.start)),
36 finish(std::move(other.finish)) {
47 :
start(std::move(a_start)),
48 finish(std::move(a_finish)) {
53 :
start(bufp, remainp),
85 void decode(
const uint8_t** bufp,
size_t* remainp) {
111 :
Vec(std::move(other)) {
152 const DB::Cell::
Key& cellkey) const;
155 const DB::Cell::
Key& cellkey) const;
160 for(
const auto& key : *
this)
161 sz += key.encoded_length();
168 for(
const auto& key : *
this)
173 void decode(
const uint8_t** bufp,
size_t* remainp) {
176 for(
auto& key : *
this)
177 key.decode(bufp, remainp);
180 void print(std::ostream& out)
const;
182 void display(std::ostream& out,
bool pretty,
183 const std::string& offset)
const;
192 for(
const auto& key : *
this) {
194 sz += key.start.size_of_internal();
195 sz += key.finish.size_of_internal();
207 case Types::KeySeq::LEXIC:
208 case Types::KeySeq::FC_LEXIC:
209 for(
const auto& key : *
this) {
210 if(!key.start.is_matching_lexic(cellkey) ||
211 !key.finish.is_matching_lexic(cellkey))
215 case Types::KeySeq::VOLUME:
217 for(
const auto& key : *
this) {
218 if(!key.start.is_matching_volume(cellkey) ||
219 !key.finish.is_matching_volume(cellkey))
232 case Types::KeySeq::LEXIC:
233 case Types::KeySeq::FC_LEXIC:
234 for(
const auto& key : *
this) {
235 if(!key.start.is_matching_lexic(cellkey))
239 case Types::KeySeq::VOLUME:
241 for(
const auto& key : *
this) {
242 if(!key.start.is_matching_volume(cellkey))
257 #ifdef SWC_IMPL_SOURCE
262 #endif // swcdb_db_cells_SpecsKeyIntervals_h
SWC_CAN_INLINE KeyInterval(Key &&a_start, Key &&a_finish) noexcept
bool is_matching(const Types::KeySeq key_seq, const DB::Cell::Key &cellkey) const
SWC_CAN_INLINE void resize(size_type sz, ArgsT &&... args)
size_t size_of_internal() const noexcept
SWC_CAN_INLINE void clear() noexcept(_NoExceptDestructor)
SWC_CAN_INLINE uint32_t encoded_length() const noexcept
SWC_CAN_INLINE KeyInterval(const Key &a_start, const Key &a_finish)
SWC_CAN_INLINE Vector & operator=(Vector &&other) noexcept
SWC_CAN_INLINE void move(KeyIntervals &other) noexcept
void copy(const Key &other)
void copy(const KeyIntervals &other)
SWC_CAN_INLINE KeyInterval(const uint8_t **bufp, size_t *remainp)
bool SWC_PURE_FUNC equal(const KeyIntervals &other) const noexcept
SWC_CAN_INLINE void decode(const uint8_t **bufp, size_t *remainp)
constexpr SWC_CAN_INLINE bool empty() const noexcept
SWC_CAN_INLINE void decode(const uint8_t **bufp, size_t *remainp)
SWC_CAN_INLINE KeyIntervals() noexcept
The SWC-DB C++ namespace 'SWC'.
SWC_CAN_INLINE KeyInterval(const KeyInterval &other)
SWC_CAN_INLINE size_t encoded_length() const noexcept
SWC_CAN_INLINE void encode(uint8_t **bufp) const
constexpr SWC_CAN_INLINE uint8_t encoded_length_vi64(uint64_t val) noexcept
SWC_CAN_INLINE KeyInterval & operator=(KeyInterval &&other) noexcept
SWC_CAN_INLINE void decode(const uint8_t **bufp, size_t *remainp)
SWC_CAN_INLINE KeyIntervals(KeyIntervals &&other) noexcept
void display(std::ostream &out, bool pretty, const std::string &offset) const
SWC_CAN_INLINE void encode(uint8_t **bufp) const
bool is_matching_start(const Types::KeySeq key_seq, const DB::Cell::Key &cellkey) const
constexpr SWC_CAN_INLINE uint64_t decode_vi64(const uint8_t **bufp, size_t *remainp)
SWC_CAN_INLINE KeyInterval() noexcept
SWC_CAN_INLINE KeyInterval(KeyInterval &&other) noexcept
SWC_CAN_INLINE KeyIntervals(const uint8_t **bufp, size_t *remainp)
void print(std::ostream &out) const
constexpr SWC_CAN_INLINE void encode_vi64(uint8_t **bufp, uint64_t val)
SWC_CAN_INLINE void encode(uint8_t **bufp) const
SWC_CAN_INLINE KeyIntervals & operator=(KeyIntervals &&other) noexcept
constexpr SWC_CAN_INLINE size_type size() const noexcept
SWC_CAN_INLINE size_t encoded_length() const noexcept
SWC_CAN_INLINE reference emplace_back(ArgsT &&... args)
SWC_CAN_INLINE void move(Key &other) noexcept
Core::Vector< KeyInterval > Vec
SWC_CAN_INLINE iterator insert(size_type offset, ArgsT &&... args)