hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
|
Classes | |
class | prefix_tree |
class | ptnode |
Typedefs | |
typedef std::vector< std::string > | seq |
typedef std::vector< seq > | seqs |
typedef std::vector< unsigned int > | lengths |
typedef std::pair< std::string, std::string > | pair |
typedef std::set< std::string > | set |
typedef std::map< std::string, std::string > | named_strings |
Functions | |
std::string | env (const std::string &varname) |
void | env (const std::string &varname, const std::string &value) |
void | repeat (unsigned int n, const std::string &s, seq *out) |
seq | repeat (unsigned int n, const std::string &s) |
template<typename C > | |
unsigned int | maxSize (unsigned int d, const std::vector< C > &vs) |
template<typename C > | |
unsigned int | minSize (unsigned int d, const std::vector< C > &vs) |
unsigned int | tableCols (const seqs &tbl) |
unsigned int | tableRows (const seqs &tbl) |
unsigned int | maxStrLen (const seq &col) |
lengths | maxStrLen (const seqs &tbl) |
std::string | pad (size_t n) |
std::string | leftAlign (size_t w, const std::string &x) |
std::string | rightAlign (size_t w, const std::string &x) |
seq | leftAlign (const seq &col) |
seq | rightAlign (const seq &col) |
seqs | leftAlign (const seqs &tbl) |
seqs | rightAlign (const seqs &tbl) |
void | printLeftAlignedTable (std::ostream &out, const seqs &tbl) |
void | printRightAlignedTable (std::ostream &out, const seqs &tbl) |
std::string | showLeftAlignedTable (const seqs &tbl) |
std::string | showRightAlignedTable (const seqs &tbl) |
void | printHeadlessLeftAlignedTable (std::ostream &out, const seqs &tbl) |
void | printHeadlessRightAlignedTable (std::ostream &out, const seqs &tbl) |
template<typename T > | |
bool | is (const std::string &x) |
template<typename T > | |
T | to (const std::string &x) |
template<typename T > | |
bool | to (const std::string &x, T &out) |
template<typename T > | |
bool | to (const char *b, const char *e, T *out) |
template<typename T > | |
std::string | from (const T &x) |
std::string | demangle (const char *tn) |
std::string | demangle (const std::type_info &ti) |
template<typename T > | |
std::string | demangle () |
template<typename Char > | |
std::basic_string< Char > | trim (const std::basic_string< Char > &s) |
template<typename Char > | |
std::pair< std::basic_string< Char >, std::basic_string< Char > > | trim (const std::pair< std::basic_string< Char >, std::basic_string< Char > > &p) |
template<typename Char > | |
std::vector< std::basic_string< Char > > | trim (const std::vector< std::basic_string< Char > > &ss) |
template<typename Char > | |
std::basic_string< Char > | trimq (const std::basic_string< Char > &s, Char q=(Char)'"') |
template<typename Char > | |
std::basic_string< Char > | replace (const std::basic_string< Char > &src, const std::basic_string< Char > &old_substr, const std::basic_string< Char > &new_substr) |
bool | isNyb (char) |
char | denyb (char) |
unsigned char | dehex (const std::string &) |
std::vector< unsigned char > | dehexs (const std::string &) |
char | nyb (unsigned char x) |
std::string | hex (unsigned char) |
std::string | hex (const std::vector< unsigned char > &) |
std::string | hex (const unsigned char *, size_t) |
std::string | escape (const std::string &) |
std::string | unescape (const std::string &) |
bool | endsWith (const std::string &s, const std::string &sfx) |
pair | trim (const pair &p) |
pair | splitAt (const std::string &s, unsigned int i) |
pair | lsplit (const std::string &s, const std::string &ss) |
pair | rsplit (const std::string &s, const std::string &ss) |
seq | csplit (const std::string &s, const std::string &ss) |
pair | readWhile (bool(*P)(char), const std::string &s) |
bool | isDigit (char c) |
bool | isNotDigit (char c) |
unsigned int | firstFailIndex (bool(*P)(char), const std::string &s) |
std::string | cdelim (const seq &ss, const std::string &d) |
std::string | show (const set &) |
std::string | show (const named_strings &) |
template<typename T > | |
T | foldWithFormat (const std::string &str, const T &s, T(*constF)(const T &, const std::string &), T(*expF)(const T &, const std::string &)) |
std::string | slurp (std::istream &in) |
seq | strings () |
seq | strings (const std::string &a0) |
seq | strings (const std::string &a0, const std::string &a1) |
seq | strings (const std::string &a0, const std::string &a1, const std::string &a2) |
seq | strings (const std::string &a0, const std::string &a1, const std::string &a2, const std::string &a3) |
seq | strings (const std::string &a0, const std::string &a1, const std::string &a2, const std::string &a3, const std::string &a4) |
seq | strings (const std::string &a0, const std::string &a1, const std::string &a2, const std::string &a3, const std::string &a4, const std::string &a5) |
char | readCharDef (const std::string &) |
std::string | expandVars (const std::string &) |
std::string | expandPath (const std::string &) |
std::string | showDataSize (size_t bytes) |
std::string | charRange (char low, char high) |
std::string | printableChars () |
std::string | difference (const std::string &x, const std::string &y) |
size_t | editDistance (const std::string &, const std::string &) |
seq | closestMatches (const std::string &, const set &, size_t maxDist) |
seq | closestMatches (const std::string &, const seq &, size_t maxDist) |
std::string | mustEndWith (const std::string &, const std::string &) |
str::seq | paths (const std::string &p) |
bool | validTable (const seqs &tbl) |
void | printAlignedTable (std::ostream &out, const seqs &tbl) |
void | printHeadlessAlignedTable (std::ostream &out, const seqs &tbl) |
bool | charIn (char c, const char *ps) |
std::string | epAppend (const std::string &lhs, const std::string &rhs) |
std::string | epLookup (const std::string &lhs, const std::string &var) |
typedef std::vector<unsigned int> hobbes::str::lengths |
typedef std::map<std::string, std::string> hobbes::str::named_strings |
typedef std::pair<std::string, std::string> hobbes::str::pair |
typedef std::vector<std::string> hobbes::str::seq |
typedef std::vector<seq> hobbes::str::seqs |
typedef std::set<std::string> hobbes::str::set |
std::string hobbes::str::cdelim | ( | const seq & | ss, |
const std::string & | d | ||
) |
bool hobbes::str::charIn | ( | char | c, |
const char * | ps | ||
) |
|
inline |
seq hobbes::str::csplit | ( | const std::string & | s, |
const std::string & | ss | ||
) |
unsigned char hobbes::str::dehex | ( | const std::string & | x | ) |
std::vector< unsigned char > hobbes::str::dehexs | ( | const std::string & | x | ) |
std::string hobbes::str::demangle | ( | const char * | tn | ) |
std::string hobbes::str::demangle | ( | const std::type_info & | ti | ) |
std::string hobbes::str::demangle | ( | ) |
char hobbes::str::denyb | ( | char | c | ) |
|
inline |
size_t hobbes::str::editDistance | ( | const std::string & | x, |
const std::string & | y | ||
) |
bool hobbes::str::endsWith | ( | const std::string & | s, |
const std::string & | sfx | ||
) |
std::string hobbes::str::env | ( | const std::string & | varname | ) |
void hobbes::str::env | ( | const std::string & | varname, |
const std::string & | value | ||
) |
std::string hobbes::str::epAppend | ( | const std::string & | lhs, |
const std::string & | rhs | ||
) |
std::string hobbes::str::epLookup | ( | const std::string & | lhs, |
const std::string & | var | ||
) |
std::string hobbes::str::escape | ( | const std::string & | cs | ) |
std::string hobbes::str::expandPath | ( | const std::string & | x | ) |
std::string hobbes::str::expandVars | ( | const std::string & | x | ) |
unsigned int hobbes::str::firstFailIndex | ( | bool(*)(char) | P, |
const std::string & | s | ||
) |
T hobbes::str::foldWithFormat | ( | const std::string & | str, |
const T & | s, | ||
T(*)(const T &, const std::string &) | constF, | ||
T(*)(const T &, const std::string &) | expF | ||
) |
std::string hobbes::str::from | ( | const T & | x | ) |
std::string hobbes::str::hex | ( | unsigned char | x | ) |
std::string hobbes::str::hex | ( | const std::vector< unsigned char > & | cs | ) |
std::string hobbes::str::hex | ( | const unsigned char * | b, |
size_t | sz | ||
) |
bool hobbes::str::is | ( | const std::string & | x | ) |
bool hobbes::str::isDigit | ( | char | c | ) |
bool hobbes::str::isNotDigit | ( | char | c | ) |
bool hobbes::str::isNyb | ( | char | c | ) |
std::string hobbes::str::leftAlign | ( | size_t | w, |
const std::string & | x | ||
) |
pair hobbes::str::lsplit | ( | const std::string & | s, |
const std::string & | ss | ||
) |
unsigned int hobbes::str::maxSize | ( | unsigned int | d, |
const std::vector< C > & | vs | ||
) |
unsigned int hobbes::str::maxStrLen | ( | const seq & | col | ) |
unsigned int hobbes::str::minSize | ( | unsigned int | d, |
const std::vector< C > & | vs | ||
) |
std::string hobbes::str::mustEndWith | ( | const std::string & | x, |
const std::string & | sfx | ||
) |
char hobbes::str::nyb | ( | unsigned char | x | ) |
std::string hobbes::str::pad | ( | size_t | n | ) |
str::seq hobbes::str::paths | ( | const std::string & | p | ) |
|
inline |
void hobbes::str::printAlignedTable | ( | std::ostream & | out, |
const seqs & | tbl | ||
) |
void hobbes::str::printHeadlessAlignedTable | ( | std::ostream & | out, |
const seqs & | tbl | ||
) |
void hobbes::str::printHeadlessLeftAlignedTable | ( | std::ostream & | out, |
const seqs & | tbl | ||
) |
void hobbes::str::printHeadlessRightAlignedTable | ( | std::ostream & | out, |
const seqs & | tbl | ||
) |
void hobbes::str::printLeftAlignedTable | ( | std::ostream & | out, |
const seqs & | tbl | ||
) |
void hobbes::str::printRightAlignedTable | ( | std::ostream & | out, |
const seqs & | tbl | ||
) |
char hobbes::str::readCharDef | ( | const std::string & | x | ) |
pair hobbes::str::readWhile | ( | bool(*)(char) | P, |
const std::string & | s | ||
) |
void hobbes::str::repeat | ( | unsigned int | n, |
const std::string & | s, | ||
seq * | out | ||
) |
seq hobbes::str::repeat | ( | unsigned int | n, |
const std::string & | s | ||
) |
std::basic_string<Char> hobbes::str::replace | ( | const std::basic_string< Char > & | src, |
const std::basic_string< Char > & | old_substr, | ||
const std::basic_string< Char > & | new_substr | ||
) |
std::string hobbes::str::rightAlign | ( | size_t | w, |
const std::string & | x | ||
) |
pair hobbes::str::rsplit | ( | const std::string & | s, |
const std::string & | ss | ||
) |
std::string hobbes::str::show | ( | const set & | ss | ) |
std::string hobbes::str::show | ( | const named_strings & | cfg | ) |
std::string hobbes::str::showDataSize | ( | size_t | bytes | ) |
std::string hobbes::str::showLeftAlignedTable | ( | const seqs & | tbl | ) |
std::string hobbes::str::showRightAlignedTable | ( | const seqs & | tbl | ) |
|
inline |
pair hobbes::str::splitAt | ( | const std::string & | s, |
unsigned int | i | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
unsigned int hobbes::str::tableCols | ( | const seqs & | tbl | ) |
unsigned int hobbes::str::tableRows | ( | const seqs & | tbl | ) |
T hobbes::str::to | ( | const std::string & | x | ) |
bool hobbes::str::to | ( | const std::string & | x, |
T & | out | ||
) |
bool hobbes::str::to | ( | const char * | b, |
const char * | e, | ||
T * | out | ||
) |
std::basic_string<Char> hobbes::str::trim | ( | const std::basic_string< Char > & | s | ) |
std::pair< std::basic_string<Char>, std::basic_string<Char> > hobbes::str::trim | ( | const std::pair< std::basic_string< Char >, std::basic_string< Char > > & | p | ) |
std::vector< std::basic_string<Char> > hobbes::str::trim | ( | const std::vector< std::basic_string< Char > > & | ss | ) |
std::basic_string<Char> hobbes::str::trimq | ( | const std::basic_string< Char > & | s, |
Char | q = (Char)'"' |
||
) |
std::string hobbes::str::unescape | ( | const std::string & | cs | ) |
bool hobbes::str::validTable | ( | const seqs & | tbl | ) |