cymoca
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Protected Attributes | List of all members
cymoca::ast::model::Class Class Reference

#include <model.h>

Inheritance diagram for cymoca::ast::model::Class:
Inheritance graph
Collaboration diagram for cymoca::ast::model::Class:
Collaboration graph

Public Member Functions

void enter (listener::Base &listener) override
 
void exit (listener::Base &listener) override
 
 Class (std::unique_ptr< ElementDict > elements, std::unique_ptr< equation::List > equations)
 
ElementDict & getElements ()
 
equation::List & getEquations ()
 
statement::List & getStatements ()
 
std::vector< INode * > getChildren () override
 
std::unique_ptr< INode > clone () const override
 
- Public Member Functions inherited from cymoca::ast::INode
virtual ~INode ()
 
template<class T >
std::unique_ptr< T > cloneAs ()
 

Protected Attributes

std::unique_ptr< ElementDict > m_elements {}
 
std::unique_ptr< equation::List > m_equations {}
 
std::unique_ptr< statement::List > m_statements {}
 

Detailed Description

The top level class structure

Definition at line 57 of file model.h.

Constructor & Destructor Documentation

cymoca::ast::model::Class::Class ( std::unique_ptr< ElementDict >  elements,
std::unique_ptr< equation::List >  equations 
)
inline

Definition at line 65 of file model.h.

Member Function Documentation

std::unique_ptr<INode> cymoca::ast::model::Class::clone ( ) const
inlineoverridevirtual

Perform a deep copy of this node.

Implements cymoca::ast::INode.

Definition at line 74 of file model.h.

Here is the call graph for this function:

void cymoca::ast::model::Class::enter ( listener::Base &  listener)
inlineoverridevirtual

A double dispatch entrace hook for listeners.

Implements cymoca::ast::INode.

Definition at line 64 of file model.h.

void cymoca::ast::model::Class::exit ( listener::Base &  listener)
inlineoverridevirtual

A double dispatch exit hook for listeners.

Implements cymoca::ast::INode.

Definition at line 64 of file model.h.

std::vector<INode *> cymoca::ast::model::Class::getChildren ( )
inlineoverridevirtual

Returns a list of children (non-owning).

Implements cymoca::ast::INode.

Definition at line 71 of file model.h.

ElementDict& cymoca::ast::model::Class::getElements ( )
inline

Definition at line 68 of file model.h.

equation::List& cymoca::ast::model::Class::getEquations ( )
inline

Definition at line 69 of file model.h.

statement::List& cymoca::ast::model::Class::getStatements ( )
inline

Definition at line 70 of file model.h.

Member Data Documentation

std::unique_ptr<ElementDict> cymoca::ast::model::Class::m_elements {}
protected

Definition at line 59 of file model.h.

std::unique_ptr<equation::List> cymoca::ast::model::Class::m_equations {}
protected

Definition at line 60 of file model.h.

std::unique_ptr<statement::List> cymoca::ast::model::Class::m_statements {}
protected

Definition at line 61 of file model.h.


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