hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Namespaces | Typedefs | Functions
str.H File Reference
#include <hobbes/util/array.H>
#include <string>
#include <sstream>
#include <vector>
#include <cxxabi.h>
#include <stdlib.h>
#include <set>
#include <map>
Include dependency graph for str.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  hobbes::str::prefix_tree
 

Namespaces

 hobbes
 
 hobbes::str
 

Typedefs

typedef std::vector< std::string > hobbes::str::seq
 
typedef std::vector< seq > hobbes::str::seqs
 
typedef std::vector< unsigned int > hobbes::str::lengths
 
typedef std::pair< std::string, std::string > hobbes::str::pair
 
typedef std::set< std::string > hobbes::str::set
 
typedef std::map< std::string, std::string > hobbes::str::named_strings
 

Functions

std::string hobbes::str::env (const std::string &varname)
 
void hobbes::str::env (const std::string &varname, const std::string &value)
 
void hobbes::str::repeat (unsigned int n, const std::string &s, seq *out)
 
seq hobbes::str::repeat (unsigned int n, const std::string &s)
 
template<typename C >
unsigned int hobbes::str::maxSize (unsigned int d, const std::vector< C > &vs)
 
template<typename C >
unsigned int hobbes::str::minSize (unsigned int d, const std::vector< C > &vs)
 
unsigned int hobbes::str::tableCols (const seqs &tbl)
 
unsigned int hobbes::str::tableRows (const seqs &tbl)
 
unsigned int hobbes::str::maxStrLen (const seq &col)
 
lengths hobbes::str::maxStrLen (const seqs &tbl)
 
std::string hobbes::str::pad (size_t n)
 
std::string hobbes::str::leftAlign (size_t w, const std::string &x)
 
std::string hobbes::str::rightAlign (size_t w, const std::string &x)
 
seq hobbes::str::leftAlign (const seq &col)
 
seq hobbes::str::rightAlign (const seq &col)
 
seqs hobbes::str::leftAlign (const seqs &tbl)
 
seqs hobbes::str::rightAlign (const seqs &tbl)
 
void hobbes::str::printLeftAlignedTable (std::ostream &out, const seqs &tbl)
 
void hobbes::str::printRightAlignedTable (std::ostream &out, const seqs &tbl)
 
std::string hobbes::str::showLeftAlignedTable (const seqs &tbl)
 
std::string hobbes::str::showRightAlignedTable (const seqs &tbl)
 
void hobbes::str::printHeadlessLeftAlignedTable (std::ostream &out, const seqs &tbl)
 
void hobbes::str::printHeadlessRightAlignedTable (std::ostream &out, const seqs &tbl)
 
template<typename T >
bool hobbes::str::is (const std::string &x)
 
template<typename T >
hobbes::str::to (const std::string &x)
 
template<typename T >
bool hobbes::str::to (const std::string &x, T &out)
 
template<typename T >
bool hobbes::str::to (const char *b, const char *e, T *out)
 
template<typename T >
std::string hobbes::str::from (const T &x)
 
std::string hobbes::str::demangle (const char *tn)
 
std::string hobbes::str::demangle (const std::type_info &ti)
 
template<typename T >
std::string hobbes::str::demangle ()
 
template<typename Char >
std::basic_string< Char > hobbes::str::trim (const std::basic_string< Char > &s)
 
template<typename Char >
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)
 
template<typename Char >
std::vector< std::basic_string< Char > > hobbes::str::trim (const std::vector< std::basic_string< Char > > &ss)
 
template<typename Char >
std::basic_string< Char > hobbes::str::trimq (const std::basic_string< Char > &s, Char q=(Char)'"')
 
template<typename Char >
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)
 
bool hobbes::str::isNyb (char)
 
char hobbes::str::denyb (char)
 
unsigned char hobbes::str::dehex (const std::string &)
 
std::vector< unsigned char > hobbes::str::dehexs (const std::string &)
 
char hobbes::str::nyb (unsigned char x)
 
std::string hobbes::str::hex (unsigned char)
 
std::string hobbes::str::hex (const std::vector< unsigned char > &)
 
std::string hobbes::str::hex (const unsigned char *, size_t)
 
std::string hobbes::str::escape (const std::string &)
 
std::string hobbes::str::unescape (const std::string &)
 
bool hobbes::str::endsWith (const std::string &s, const std::string &sfx)
 
pair hobbes::str::trim (const pair &p)
 
pair hobbes::str::splitAt (const std::string &s, unsigned int i)
 
pair hobbes::str::lsplit (const std::string &s, const std::string &ss)
 
pair hobbes::str::rsplit (const std::string &s, const std::string &ss)
 
seq hobbes::str::csplit (const std::string &s, const std::string &ss)
 
pair hobbes::str::readWhile (bool(*P)(char), const std::string &s)
 
bool hobbes::str::isDigit (char c)
 
bool hobbes::str::isNotDigit (char c)
 
unsigned int hobbes::str::firstFailIndex (bool(*P)(char), const std::string &s)
 
std::string hobbes::str::cdelim (const seq &ss, const std::string &d)
 
std::string hobbes::str::show (const set &)
 
std::string hobbes::str::show (const named_strings &)
 
template<typename T >
hobbes::str::foldWithFormat (const std::string &str, const T &s, T(*constF)(const T &, const std::string &), T(*expF)(const T &, const std::string &))
 
std::string hobbes::str::slurp (std::istream &in)
 
seq hobbes::str::strings ()
 
seq hobbes::str::strings (const std::string &a0)
 
seq hobbes::str::strings (const std::string &a0, const std::string &a1)
 
seq hobbes::str::strings (const std::string &a0, const std::string &a1, const std::string &a2)
 
seq hobbes::str::strings (const std::string &a0, const std::string &a1, const std::string &a2, const std::string &a3)
 
seq hobbes::str::strings (const std::string &a0, const std::string &a1, const std::string &a2, const std::string &a3, const std::string &a4)
 
seq hobbes::str::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 hobbes::str::readCharDef (const std::string &)
 
std::string hobbes::str::expandVars (const std::string &)
 
std::string hobbes::str::expandPath (const std::string &)
 
std::string hobbes::str::showDataSize (size_t bytes)
 
std::string hobbes::str::charRange (char low, char high)
 
std::string hobbes::str::printableChars ()
 
std::string hobbes::str::difference (const std::string &x, const std::string &y)
 
size_t hobbes::str::editDistance (const std::string &, const std::string &)
 
seq hobbes::str::closestMatches (const std::string &, const set &, size_t maxDist)
 
seq hobbes::str::closestMatches (const std::string &, const seq &, size_t maxDist)
 
std::string hobbes::str::mustEndWith (const std::string &, const std::string &)
 
str::seq hobbes::str::paths (const std::string &p)