hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
|
#include <type.H>
Classes | |
struct | Member |
Public Types | |
typedef std::vector< Member > | Members |
![]() | |
typedef std::shared_ptr< MonoType > | ptr |
typedef std::set< std::string > | TypeVarNames |
Public Member Functions | |
void | show (std::ostream &out) const |
Member | headMember () const |
MonoTypePtr | tailType () const |
const Members & | members () const |
const MonoTypePtr & | payload (const std::string &selector) const |
unsigned int | index (const std::string &selector) const |
unsigned int | id (const std::string &selector) const |
const Member * | mmember (const std::string &selector) const |
bool | isSum () const |
unsigned int | payloadOffset () const |
unsigned int | payloadSize () const |
unsigned int | size () const |
![]() | |
MonoTypeCase () | |
![]() | |
virtual | ~MonoType () |
bool | operator== (const MonoType &rhs) const |
int | case_id () const |
template<typename Class , typename T , typename ... Args> | |
MonoTypePtr | makeType (const Args &... args) |
Static Public Member Functions | |
static MonoTypePtr | make (const Members &) |
static MonoTypePtr | make (const MonoTypePtr &hty, const Members &tty) |
static MonoTypePtr | make (const std::string &lbl, const MonoTypePtr &hty, const Members &tty) |
Public Attributes | |
unsigned int | payloadSizeM |
![]() | |
TypeVarNames | freeTVars |
int | tgenCount |
unsigned int | memorySize |
ptr | unaliasedType |
Static Public Attributes | |
static const int | type_case_id = 6 |
Private Member Functions | |
Variant (const Members &) | |
Private Attributes | |
Members | ms |
Friends | |
class | MonoType |
Additional Inherited Members | |
![]() | |
MonoType (int cid) | |
![]() | |
template<typename Class , typename T , typename ... Args> | |
static ptr | makeType (const Args &... args) |
typedef std::vector<Member> hobbes::Variant::Members |
|
private |
Variant::Member hobbes::Variant::headMember | ( | ) | const |
unsigned int hobbes::Variant::id | ( | const std::string & | selector | ) | const |
unsigned int hobbes::Variant::index | ( | const std::string & | selector | ) | const |
bool hobbes::Variant::isSum | ( | ) | const |
|
static |
|
static |
|
static |
const Variant::Members & hobbes::Variant::members | ( | ) | const |
const Variant::Member * hobbes::Variant::mmember | ( | const std::string & | selector | ) | const |
const MonoTypePtr & hobbes::Variant::payload | ( | const std::string & | selector | ) | const |
unsigned int hobbes::Variant::payloadOffset | ( | ) | const |
unsigned int hobbes::Variant::payloadSize | ( | ) | const |
|
virtual |
Implements hobbes::MonoType.
unsigned int hobbes::Variant::size | ( | ) | const |
MonoTypePtr hobbes::Variant::tailType | ( | ) | const |
|
friend |
|
private |
|
mutable |
|
static |