8#ifndef SCSL_DICTIONARY_H
9#define SCSL_DICTIONARY_H
16static constexpr uint8_t DICTIONARY_TAG_KEY = 1;
17static constexpr uint8_t DICTIONARY_TAG_VAL = 2;
46 kTag(DICTIONARY_TAG_KEY),
47 vTag(DICTIONARY_TAG_VAL)
84 int Set(
const char *key, uint8_t klen,
const char *val,
92 bool Contains(
const char *key, uint8_t klen);
99 bool Delete(
const char *key, uint8_t klen);
114 friend std::ostream &
operator<<(std::ostream &os,
117 uint8_t *seek(
const char *key, uint8_t klen);
119 bool spaceAvailable(uint8_t klen, uint8_t vlen);
Memory management using an arena.
TLV.h implements basic tag-length-value records.
Definition: Dictionary.h:39
Dictionary(Arena &arena, uint8_t kt, uint8_t vt)
Definition: Dictionary.h:55
Dictionary(Arena &arena)
Definition: Dictionary.h:44
friend std::ostream & operator<<(std::ostream &os, const Dictionary &dictionary)
Definition: Dictionary.cc:134
bool Lookup(const char *key, uint8_t klen, TLV::Record &res)
Definition: Dictionary.cc:14
bool Contains(const char *key, uint8_t klen)
Definition: Dictionary.cc:91
int Set(const char *key, uint8_t klen, const char *val, uint8_t vlen)
Definition: Dictionary.cc:37
bool Delete(const char *key, uint8_t klen)
Definition: Dictionary.cc:98
int DumpToFile(const char *path)
Definition: Dictionary.cc:161
scsl is the top-level namespace containing all the code in this library.
Definition: scsl.h:37