hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Member Functions | Private Member Functions | List of all members
hobbes::writer Class Reference

#include <file.H>

Inheritance diagram for hobbes::writer:
Inheritance graph
Collaboration diagram for hobbes::writer:
Collaboration graph

Public Member Functions

 writer (const std::string &)
 
template<typename T >
T * define (const std::string &vn)
 
template<typename T >
array< T > * define (const std::string &vn, size_t len)
 
template<typename T >
T * store ()
 
template<typename T >
array< T > * store (size_t len)
 
fileref< array< char > * > store (const char *, size_t)
 
fileref< array< char > * > store (const char *)
 
fileref< array< char > * > store (const array< char > *)
 
fileref< array< char > * > store (const std::string &)
 
template<typename TIter >
fileref< array< typename std::iterator_traits< TIter >::value_type > * > store (TIter b, TIter e)
 
void * unsafeDefine (const std::string &, const MonoTypePtr &)
 
void * unsafeDefine (const std::string &, const MonoTypePtr &, size_t)
 
void * unsafeStore (const MonoTypePtr &)
 
void * unsafeStore (const MonoTypePtr &, size_t)
 
void * unsafeStore (size_t sz, size_t align)
 
uint64_t unsafeStoreToOffset (size_t sz, size_t align)
 
void * unsafeStoreArray (size_t, size_t)
 
uint64_t unsafeStoreArrayToOffset (size_t, size_t)
 
void signalUpdate ()
 
- Public Member Functions inherited from hobbes::reader
 reader (imagefile *)
 
 reader (const std::string &)
 
virtual ~reader ()
 
const std::string & file () const
 
size_t size () const
 
MonoTypeSubst signature () const
 
template<typename T >
frefty< T >::ptr lookup (const std::string &vn) const
 
template<typename T >
fileref< typename frefty< T >::type > offsetOf (const T *x) const
 
template<typename T >
frefty< T >::ptr load (const fileref< T > &x)
 
template<typename T >
void unmap (T *x)
 
template<typename T >
void unmap (array< T > *xs)
 
unsigned int pushOffset (uint64_t offset, const MonoTypePtr &ty)
 
void * unsafeLoadStoredOffset (unsigned int o) const
 
void storedOffsetDetails (unsigned int o, uint64_t *offset, size_t *sz) const
 
void showFileSummary (std::ostream &) const
 
void showEnvironment (std::ostream &) const
 
void showMappings (std::ostream &, size_t) const
 
void showPageTable (std::ostream &, size_t) const
 
void show (std::ostream &) const
 
void * unsafeLookup (const std::string &, const MonoTypePtr &) const
 
uint64_t unsafeLookupOffset (const std::string &, const MonoTypePtr &) const
 
uint64_t unsafeOffsetOf (const MonoTypePtr &, void *) const
 
uint64_t unsafeOffsetOfVal (bool, void *) const
 
void * unsafeLoad (const MonoTypePtr &, uint64_t) const
 
void * unsafeLoad (uint64_t, size_t) const
 
void * unsafeLoadArray (uint64_t) const
 
void unsafeUnload (void *, size_t)
 
void unsafeUnloadArray (void *)
 
uint64_t unsafeArrayCapacity (uint64_t) const
 
int unsafeGetFD () const
 
PageEntriespageEntries () const
 

Private Member Functions

void * allocNamed (const std::string &, const MonoTypePtr &, size_t)
 
void * allocAnon (size_t sz, size_t align)
 

Additional Inherited Members

- Public Types inherited from hobbes::reader
typedef std::pair< uint8_t, short > PageEntry
 
typedef array< PageEntryPageEntries
 
- Protected Attributes inherited from hobbes::reader
imagefilefdata
 

Constructor & Destructor Documentation

◆ writer()

hobbes::writer::writer ( const std::string &  path)

Member Function Documentation

◆ allocAnon()

void * hobbes::writer::allocAnon ( size_t  sz,
size_t  align 
)
private

◆ allocNamed()

void * hobbes::writer::allocNamed ( const std::string &  vn,
const MonoTypePtr ty,
size_t  datasz 
)
private

◆ define() [1/2]

template<typename T >
T* hobbes::writer::define ( const std::string &  vn)
inline

◆ define() [2/2]

template<typename T >
array<T>* hobbes::writer::define ( const std::string &  vn,
size_t  len 
)
inline

◆ signalUpdate()

void hobbes::writer::signalUpdate ( )

◆ store() [1/7]

template<typename T >
T* hobbes::writer::store ( )
inline

◆ store() [2/7]

template<typename T >
array<T>* hobbes::writer::store ( size_t  len)
inline

◆ store() [3/7]

fileref< array< char > * > hobbes::writer::store ( const char *  x,
size_t  sz 
)

◆ store() [4/7]

fileref< array< char > * > hobbes::writer::store ( const char *  x)

◆ store() [5/7]

fileref< array< char > * > hobbes::writer::store ( const array< char > *  x)

◆ store() [6/7]

fileref< array< char > * > hobbes::writer::store ( const std::string &  x)

◆ store() [7/7]

template<typename TIter >
fileref<array<typename std::iterator_traits<TIter>::value_type>*> hobbes::writer::store ( TIter  b,
TIter  e 
)
inline

◆ unsafeDefine() [1/2]

void * hobbes::writer::unsafeDefine ( const std::string &  vn,
const MonoTypePtr ty 
)

◆ unsafeDefine() [2/2]

void * hobbes::writer::unsafeDefine ( const std::string &  vn,
const MonoTypePtr ty,
size_t  len 
)

◆ unsafeStore() [1/3]

void * hobbes::writer::unsafeStore ( const MonoTypePtr ty)

◆ unsafeStore() [2/3]

void * hobbes::writer::unsafeStore ( const MonoTypePtr ty,
size_t  len 
)

◆ unsafeStore() [3/3]

void * hobbes::writer::unsafeStore ( size_t  sz,
size_t  align 
)

◆ unsafeStoreArray()

void * hobbes::writer::unsafeStoreArray ( size_t  esize,
size_t  len 
)

◆ unsafeStoreArrayToOffset()

uint64_t hobbes::writer::unsafeStoreArrayToOffset ( size_t  esize,
size_t  len 
)

◆ unsafeStoreToOffset()

uint64_t hobbes::writer::unsafeStoreToOffset ( size_t  sz,
size_t  align 
)

The documentation for this class was generated from the following files: