 |
SWC-DB
v0.5.11 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_CellKeyVec_h
8 #define swcdb_db_cells_CellKeyVec_h
15 namespace SWC {
namespace DB {
namespace Cell {
43 for(
auto& f : *
this) {
58 add(fraction.data(), fraction.length());
62 void add(
const std::string& fraction) {
63 add(fraction.c_str(), fraction.length());
67 void add(
const char* fraction) {
68 add(fraction, strlen(fraction));
72 void add(
const char* fraction,
const uint32_t len) {
73 add(
reinterpret_cast<const uint8_t*
>(fraction), len);
76 void add(
const uint8_t* fraction,
const uint32_t len);
80 insert(idx, fraction.data(), fraction.length());
84 void insert(
const uint32_t idx,
const std::string& fraction) {
85 insert(idx, fraction.c_str(), fraction.length());
89 void insert(
const uint32_t idx,
const char* fraction) {
90 insert(idx, fraction, strlen(fraction));
94 void insert(
const uint32_t idx,
const char* fraction,
const uint32_t len) {
95 insert(idx,
reinterpret_cast<const uint8_t*
>(fraction), len);
98 void insert(
const uint32_t idx,
const uint8_t* fraction,
const uint32_t len);
102 set(idx, fraction.data(), fraction.length());
106 void set(
const uint32_t idx,
const std::string& fraction) {
107 set(idx, fraction.c_str(), fraction.length());
111 void set(
const uint32_t idx,
const char* fraction) {
112 set(idx, fraction, strlen(fraction));
116 void set(
const uint32_t idx,
const char* fraction,
const uint32_t len) {
117 set(idx,
reinterpret_cast<const uint8_t*
>(fraction), len);
120 void set(
const uint32_t idx,
const uint8_t* fraction,
const uint32_t len);
122 void remove(
const uint32_t idx);
131 fraction = (*this)[idx];
135 void get(
const uint32_t idx, std::string& fraction)
const {
137 reinterpret_cast<const char*
>((*
this)[idx].
data()),
144 void encode(uint8_t** bufp) const;
146 void decode(const uint8_t** bufp,
size_t* remainp);
152 std::stringstream ss;
159 void print(std::ostream& out)
const;
183 return *
this == other;
193 const uint32_t len) {
199 const uint32_t len) {
200 (*this)[idx].assign(fraction, len);
223 memcpy(*bufp, it->data(), len);
233 for(
auto it =
begin(); it !=
cend(); ++it) {
235 it->assign(*bufp, len);
244 #ifdef SWC_IMPL_SOURCE
248 #endif // swcdb_db_Cells_CellKeyVec_h
SWC_CAN_INLINE iterator erase(size_type offset) noexcept(_NoExceptMoveAssign &&_NoExceptDestructor)
uint32_t encoded_length() const noexcept
SWC_CAN_INLINE void resize(size_type sz, ArgsT &&... args)
SWC_CAN_INLINE void clear() noexcept(_NoExceptDestructor)
SWC_CAN_INLINE void insert(const uint32_t idx, const std::string &fraction)
SWC_CAN_INLINE void add(const char *fraction, const uint32_t len)
void remove(const uint32_t idx)
constexpr SWC_CAN_INLINE uint8_t encoded_length_vi32(uint32_t val) noexcept
SWC_CAN_INLINE KeyVec(KeyVec &&other) noexcept
SWC_CAN_INLINE void set(const uint32_t idx, const std::string &fraction)
SWC_CAN_INLINE void get(const uint32_t idx, std::string &fraction) const
SWC_CAN_INLINE reference emplace(const_iterator it, ArgsT &&... args)
Core::Vector< std::basic_string< uint8_t > > VecFraction
VecFraction::value_type Fraction
SWC_CAN_INLINE void add(const char *fraction)
SWC_CAN_INLINE void set(const uint32_t idx, const char *fraction)
The SWC-DB C++ namespace 'SWC'.
constexpr SWC_CAN_INLINE size_type size() const noexcept
void print(std::ostream &out) const
SWC_CAN_INLINE void insert(const uint32_t idx, const char *fraction, const uint32_t len)
SWC_CAN_INLINE std::string to_string() const
SWC_CAN_INLINE void insert(const uint32_t idx, const Fraction &fraction)
SWC_CAN_INLINE size_t size_of_internal() const noexcept
constexpr SWC_CAN_INLINE pointer data() noexcept
SWC_CAN_INLINE const Fraction & get(const uint32_t idx) const
SWC_CAN_INLINE void add(const std::string &fraction)
void copy(const KeyVec &other)
SWC_CAN_INLINE KeyVec() noexcept
constexpr SWC_CAN_INLINE const_iterator cend() const noexcept
constexpr SWC_CAN_INLINE void encode_vi32(uint8_t **bufp, uint32_t val)
bool equal(const KeyVec &other) const noexcept
SWC_CAN_INLINE void get(const uint32_t idx, Fraction &fraction) const
SWC_CAN_INLINE void insert(const uint32_t idx, const char *fraction)
KeyVec & operator=(const KeyVec &)=delete
SWC_CAN_INLINE void assign(IteratorT first, IteratorT last)
SWC_CAN_INLINE void set(const uint32_t idx, const char *fraction, const uint32_t len)
SWC_CAN_INLINE void add(const Fraction &fraction)
void encode(uint8_t **bufp) const
constexpr SWC_CAN_INLINE const_iterator cbegin() const noexcept
constexpr SWC_CAN_INLINE size_type size() const noexcept
friend std::ostream & operator<<(std::ostream &out, const KeyVec &key)
SWC_CAN_INLINE reference emplace_back(ArgsT &&... args)
void decode(const uint8_t **bufp, size_t *remainp)
SWC_CAN_INLINE void set(const uint32_t idx, const Fraction &fraction)
constexpr SWC_CAN_INLINE uint32_t decode_vi32(const uint8_t **bufp, size_t *remainp)
constexpr SWC_CAN_INLINE iterator begin() noexcept