40 #include <boost/container/small_vector.hpp> 41 #include <boost/container/static_vector.hpp> 42 #include <boost/utility/string_ref.hpp> 54 BufferView(
const char* _data,
size_t _size): data(_data), size(_size) {}
88 int toStr(std::string &destination)
const;
96 constexpr
static const char SEPARATOR =
'/';
97 constexpr
static const char NUM_PLACEHOLDER =
'#';
BufferView(const char *_data, size_t _size)
std::ostream & operator<<(std::ostream &os, const StringTreeLeaf &leaf)
The StringTreeLeaf is, as the name suggests, a leaf (terminal node) of a StringTree. It provides the pointer to the node and a list of numbers that represent the index that corresponds to the placeholder "#".
const StringTreeNode * node_ptr
boost::container::static_vector< uint16_t, 8 > index_array
Element of the tree. it has a single parent and N >= 0 children.
void CreateStringFromTreeLeaf(const StringTreeLeaf &leaf, bool skip_root, std::string &out)
boost::string_ref StringView
std::string toStdString() const
int toStr(std::string &destination) const
Utility functions to print the entire branch.
const char * toStr(const BuiltinType &c)