hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Namespaces | Typedefs | Functions | Variables
funcdefs.C File Reference
#include <hobbes/eval/funcdefs.H>
#include <hobbes/util/region.H>
#include <hobbes/hobbes.H>
#include <hobbes/db/file.H>
#include <hobbes/util/perf.H>
#include <hobbes/util/time.H>
#include <hobbes/util/codec.H>
#include <stack>
#include <iostream>
#include <iomanip>
#include <strings.h>
#include <zlib.h>
Include dependency graph for funcdefs.C:

Classes

struct  hobbes::maybe< T >
 

Namespaces

 hobbes
 

Typedefs

typedef std::pair< std::string, region * > hobbes::NamedRegion
 
typedef std::vector< NamedRegion > hobbes::Regions
 

Functions

region & hobbes::threadRegion ()
 
static Regions & hobbes::threadRegions ()
 
size_t hobbes::addThreadRegion (const std::string &, region *)
 
size_t hobbes::findThreadRegion (const std::string &)
 
void hobbes::removeThreadRegion (size_t)
 
size_t hobbes::setThreadRegion (size_t)
 
size_t hobbes::makeMemRegion (const array< char > *n)
 
char * hobbes::memalloc (long n)
 
char * hobbes::memallocz (long n)
 
 hobbes::DEFINE_STRUCT (RegionState,(const array< char > *, name),(size_t, id),(size_t, allocated),(size_t, used),(size_t, wasted))
 
array< RegionState > * hobbes::getMemoryPool ()
 
std::string hobbes::showMemoryPool ()
 
void hobbes::printMemoryPool ()
 
void hobbes::resetMemoryPool ()
 
void hobbes::clearMemoryPool ()
 
void hobbes::abortAtMemUsage (size_t maxsz)
 
const array< char > * hobbes::makeString (region &m, const char *s, size_t len)
 
const array< char > * hobbes::makeString (region &m, const char *s)
 
const array< char > * hobbes::makeString (region &m, const std::string &s)
 
const array< char > * hobbes::makeString (const char *s, size_t len)
 
const array< char > * hobbes::makeString (const std::string &x)
 
std::string hobbes::makeStdString (const array< char > *x)
 
const array< char > * hobbes::showChar (char c)
 
const maybe< char >::ty * hobbes::readChar (const array< char > *x)
 
const array< char > * hobbes::showByteV (unsigned char b)
 
const array< char > * hobbes::showByte (unsigned char b)
 
const maybe< unsigned char >::ty * hobbes::readByte (const array< char > *x)
 
template<typename T >
const maybe< T >::ty * hobbes::readISV (const array< char > *x)
 
const array< char > * hobbes::showShort (short s)
 
const maybe< short >::ty * hobbes::readShort (const array< char > *x)
 
const array< char > * hobbes::showInt (int x)
 
const maybe< int >::ty * hobbes::readInt (const array< char > *x)
 
const array< char > * hobbes::showLong (long x)
 
const maybe< long >::ty * hobbes::readLong (const array< char > *x)
 
const array< char > * hobbes::showFloat (float x, int p)
 
const maybe< float >::ty * hobbes::readFloat (const array< char > *x)
 
const array< char > * hobbes::showDouble (double x, int p)
 
const maybe< double >::ty * hobbes::readDouble (const array< char > *x)
 
const array< char > * hobbes::showString (std::string *x)
 
const array< char > * hobbes::showTimespanV (timespanT x)
 
const array< char > * hobbes::showTimeV (timeT x)
 
const array< char > * hobbes::showDateTimeV (datetimeT x)
 
std::string hobbes::showUS (int64_t us)
 
const array< char > * hobbes::formatTimeV (const array< char > *fmt, long tus)
 
const array< char > * hobbes::formatDateTime (const array< char > *fmt, datetimeT x)
 
datetimeT hobbes::now ()
 
datetimeT hobbes::truncDate (datetimeT t)
 
timeT hobbes::truncTime (datetimeT t)
 
datetimeT hobbes::datetimeAt (datetimeT dt, timeT t)
 
timespanT hobbes::gmtoffset (datetimeT x)
 
std::ostringstream & hobbes::stdoutBuffer ()
 
void hobbes::stdoutBufferSwap (std::ostream *os)
 
void hobbes::captureStdout ()
 
const array< char > * hobbes::releaseStdout ()
 
void hobbes::putStr (array< char > *x)
 
size_t hobbes::cstrlen (char *x)
 
char hobbes::cstrelem (char *x, size_t i)
 
long hobbes::strsize (std::string *s)
 
char hobbes::strelem (std::string *s, long i)
 
void hobbes::stdstringAssign (std::string *lhs, array< char > *rhs)
 
double hobbes::random (double low, double high)
 
long hobbes::lrand (long low, long high)
 
long hobbes::truncd (double x)
 
void hobbes::dbglog (const std::string &)
 
void hobbes::failvarmatch (const array< char > *file, size_t line, const array< char > *txt, char *addr)
 
void hobbes::dumpBytes (char *d, long len)
 
void * hobbes::runClosThread (void *clos)
 
long hobbes::newThread (char *clos)
 
void hobbes::threadWait (long x)
 
void hobbes::threadSleep (timespanT dt)
 
std::set< int > & hobbes::badFDs ()
 
void hobbes::markBadFD (int fd)
 
bool hobbes::unmarkBadFD (int fd)
 
void hobbes::readOrMark (int fd, char *b, size_t sz)
 
template<typename T >
hobbes::fdRead (int fd)
 
void hobbes::writeOrMark (int fd, const char *b, size_t sz)
 
template<typename T >
void hobbes::fdWrite (int fd, T x)
 
void hobbes::fdWriteChars (int fd, const array< char > *cs)
 
void hobbes::fdWriteBytes (int fd, const array< unsigned char > *bs)
 
uint8_t hobbes::compressLength (size_t len, uint8_t slen[9])
 
uint8_t hobbes::uncompressLength (const uint8_t *data, size_t *len)
 
size_t hobbes::crossZLibCompressBound (size_t t)
 
const array< uint8_t > * hobbes::compressBytes (const array< uint8_t > *bs)
 
const array< uint8_t > * hobbes::uncompressBytes (const array< uint8_t > *bs)
 
void hobbes::runEvery (timespanT dt, bool(*pf)())
 
void hobbes::initStdFuncDefs (cc &ctx)
 

Variables

static __thread region * hobbes::threadRegionp = 0
 
static __thread Regions * hobbes::threadRegionsp = 0
 
static __thread size_t hobbes::currentRegion = 0