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

#include <module.H>

Inheritance diagram for hobbes::MTypeDef:
Inheritance graph
Collaboration diagram for hobbes::MTypeDef:
Collaboration graph

Public Types

enum  Visibility { Opaque, Transparent }
 
- Public Types inherited from hobbes::ModuleDefCase< MTypeDef >
typedef ModuleDefCase< MTypeDefBase
 

Public Member Functions

 MTypeDef (Visibility, const std::string &tname, const str::seq &targs, const MonoTypePtr &t, const LexicalAnnotation &)
 
Visibility visibility () const
 
const std::string & name () const
 
const str::seqarguments () const
 
const MonoTypePtrtype () const
 
void show (std::ostream &) const
 
- Public Member Functions inherited from hobbes::ModuleDefCase< MTypeDef >
 ModuleDefCase (const LexicalAnnotation &)
 
- Public Member Functions inherited from hobbes::ModuleDef
virtual ~ModuleDef ()
 
int case_id () const
 
- Public Member Functions inherited from hobbes::LexicallyAnnotated
 LexicallyAnnotated (const LexicallyAnnotated &)
 
 LexicallyAnnotated (const LexicalAnnotation &)
 
 LexicallyAnnotated (const LexRange &)
 
 LexicallyAnnotated (const Pos &, const Pos &)
 
const LexicalAnnotationla () const
 

Static Public Attributes

static const int type_case_id = 1
 

Private Attributes

Visibility v
 
std::string tname
 
str::seq targs
 
MonoTypePtr t
 

Additional Inherited Members

- Static Public Member Functions inherited from hobbes::LexicallyAnnotated
static void pushFileContext (const std::string &)
 
static void pushLiteralContext (const std::string &)
 
static void popContext ()
 
static LexicalAnnotation make (const Pos &, const Pos &)
 
- Protected Member Functions inherited from hobbes::ModuleDef
 ModuleDef (int cid, const LexicalAnnotation &)
 

Member Enumeration Documentation

◆ Visibility

Enumerator
Opaque 
Transparent 

Constructor & Destructor Documentation

◆ MTypeDef()

hobbes::MTypeDef::MTypeDef ( Visibility  v,
const std::string &  tname,
const str::seq targs,
const MonoTypePtr t,
const LexicalAnnotation la 
)

Member Function Documentation

◆ arguments()

const str::seq & hobbes::MTypeDef::arguments ( ) const

◆ name()

const std::string & hobbes::MTypeDef::name ( ) const

◆ show()

void hobbes::MTypeDef::show ( std::ostream &  out) const
virtual

Implements hobbes::ModuleDef.

◆ type()

const MonoTypePtr & hobbes::MTypeDef::type ( ) const

◆ visibility()

MTypeDef::Visibility hobbes::MTypeDef::visibility ( ) const

Member Data Documentation

◆ t

MonoTypePtr hobbes::MTypeDef::t
private

◆ targs

str::seq hobbes::MTypeDef::targs
private

◆ tname

std::string hobbes::MTypeDef::tname
private

◆ type_case_id

const int hobbes::MTypeDef::type_case_id = 1
static

◆ v

Visibility hobbes::MTypeDef::v
private

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