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 |
const Members & | members () const |
const MonoTypePtr & | member (const std::string &mn) const |
unsigned int | index (const std::string &mn) const |
const Member * | mmember (const std::string &mn) const |
Member | headMember () const |
MonoTypePtr | tailType () const |
const Members & | alignedMembers () const |
unsigned int | alignedIndex (const std::string &mn) const |
unsigned int | size () const |
bool | isTuple () 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 Members | withExplicitPadding (const Members &, const std::string &pfx=".p") |
static Members | withResolvedMemoryLayout (const Members &) |
static MonoTypePtr | make (const Members &ms) |
static MonoTypePtr | make (const MonoTypePtr &hty, const Members &tty) |
static MonoTypePtr | make (const std::string &lbl, const MonoTypePtr &hty, const Members &tty) |
Static Public Attributes | |
static const int | type_case_id = 7 |
Private Member Functions | |
unsigned int | maxFieldAlignment () const |
unsigned int | index (const Members &ms, const std::string &mn) const |
Record (const Members &ms) | |
Static Private Member Functions | |
static void | showRecord (std::ostream &, const Members &) |
static std::string | showRecord (const Members &) |
Private Attributes | |
Members | ms |
Members | ams |
unsigned int | maxFieldAlignmentM |
Friends | |
class | MonoType |
Additional Inherited Members | |
![]() | |
TypeVarNames | freeTVars |
int | tgenCount |
unsigned int | memorySize |
ptr | unaliasedType |
![]() | |
MonoType (int cid) | |
![]() | |
template<typename Class , typename T , typename ... Args> | |
static ptr | makeType (const Args &... args) |
typedef std::vector<Member> hobbes::Record::Members |
|
private |
unsigned int hobbes::Record::alignedIndex | ( | const std::string & | mn | ) | const |
const Record::Members & hobbes::Record::alignedMembers | ( | ) | const |
Record::Member hobbes::Record::headMember | ( | ) | const |
unsigned int hobbes::Record::index | ( | const std::string & | mn | ) | const |
|
private |
bool hobbes::Record::isTuple | ( | ) | const |
|
static |
|
static |
|
static |
|
private |
const MonoTypePtr & hobbes::Record::member | ( | const std::string & | mn | ) | const |
const Record::Members & hobbes::Record::members | ( | ) | const |
const Record::Member * hobbes::Record::mmember | ( | const std::string & | mn | ) | const |
|
virtual |
Implements hobbes::MonoType.
|
staticprivate |
|
staticprivate |
unsigned int hobbes::Record::size | ( | ) | const |
MonoTypePtr hobbes::Record::tailType | ( | ) | const |
|
static |
|
static |
|
friend |
|
private |
|
mutableprivate |
|
private |
|
static |