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

#include <module.H>

Inheritance diagram for hobbes::ClassDef:
Inheritance graph
Collaboration diagram for hobbes::ClassDef:
Collaboration graph

Public Member Functions

 ClassDef (const Constraints &cs, const std::string &cname, const str::seq &tvars, const CFunDepDefs &fdeps, const MVarTypeDefs &mvtydefs, const LexicalAnnotation &)
 
const Constraintsconstraints () const
 
const std::string & name () const
 
const str::seqvars () const
 
const CFunDepDefs fundeps () const
 
const MVarTypeDefsmembers () const
 
void show (std::ostream &out) const
 
- Public Member Functions inherited from hobbes::ModuleDefCase< ClassDef >
 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 = 4
 

Private Attributes

Constraints cs
 
std::string cname
 
str::seq tvars
 
CFunDepDefs fdeps
 
MVarTypeDefs mvtydefs
 

Additional Inherited Members

- Public Types inherited from hobbes::ModuleDefCase< ClassDef >
typedef ModuleDefCase< ClassDefBase
 
- 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 &)
 

Constructor & Destructor Documentation

◆ ClassDef()

hobbes::ClassDef::ClassDef ( const Constraints cs,
const std::string &  cname,
const str::seq tvars,
const CFunDepDefs fdeps,
const MVarTypeDefs mvtydefs,
const LexicalAnnotation la 
)

Member Function Documentation

◆ constraints()

const Constraints & hobbes::ClassDef::constraints ( ) const

◆ fundeps()

const CFunDepDefs hobbes::ClassDef::fundeps ( ) const

◆ members()

const MVarTypeDefs & hobbes::ClassDef::members ( ) const

◆ name()

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

◆ show()

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

Implements hobbes::ModuleDef.

◆ vars()

const str::seq & hobbes::ClassDef::vars ( ) const

Member Data Documentation

◆ cname

std::string hobbes::ClassDef::cname
private

◆ cs

Constraints hobbes::ClassDef::cs
private

◆ fdeps

CFunDepDefs hobbes::ClassDef::fdeps
private

◆ mvtydefs

MVarTypeDefs hobbes::ClassDef::mvtydefs
private

◆ tvars

str::seq hobbes::ClassDef::tvars
private

◆ type_case_id

const int hobbes::ClassDef::type_case_id = 4
static

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