25 #ifndef SCSL_DICTIONARY_H
26 #define SCSL_DICTIONARY_H
35 static constexpr uint8_t DICTIONARY_TAG_KEY = 1;
36 static constexpr uint8_t DICTIONARY_TAG_VAL = 2;
65 kTag(DICTIONARY_TAG_KEY),
66 vTag(DICTIONARY_TAG_VAL)
103 int Set(
const char *key, uint8_t klen,
const char *val,
111 bool Contains(
const char *key, uint8_t klen);
118 bool Delete(
const char *key, uint8_t klen);
133 friend std::ostream &
operator<<(std::ostream &os,
136 uint8_t *seek(
const char *key, uint8_t klen);
138 bool spaceAvailable(uint8_t klen, uint8_t vlen);
Memory management using an arena.
TLV.h implements basic tag-length-value records.
Definition: Dictionary.h:58
Dictionary(Arena &arena, uint8_t kt, uint8_t vt)
Definition: Dictionary.h:74
Dictionary(Arena &arena)
Definition: Dictionary.h:63
bool Lookup(const char *key, uint8_t klen, TLV::Record &res)
Definition: Dictionary.cc:37
bool Contains(const char *key, uint8_t klen)
Definition: Dictionary.cc:114
int Set(const char *key, uint8_t klen, const char *val, uint8_t vlen)
Definition: Dictionary.cc:60
bool Delete(const char *key, uint8_t klen)
Definition: Dictionary.cc:121
friend std::ostream & operator<<(std::ostream &os, const Dictionary &dictionary)
Definition: Dictionary.cc:157
int DumpToFile(const char *path)
Definition: Dictionary.cc:184
scsl is the top-level namespace containing all the code in this library.
Definition: scsl.h:43