DiaDes
0.1
DIAgnosisofDiscrete-EventSystem
|
#include <Node.hh>
Public Types | |
typedef reference_wrapper< Node const > | ConstReference |
typedef reference_wrapper< Node > | Reference |
typedef std::vector< ConstReference > | NodeVector |
typedef NodeVector::iterator | SubNodeIterator |
typedef NodeVector::const_iterator | SubNodeConstIterator |
Public Types inherited from Diades::Altarica::Variable | |
typedef FlatVariableIterator | FlatIterator |
typedef Variable * | Pointer |
typedef reference_wrapper< Variable > | Reference |
typedef reference_wrapper< Variable const > | ConstReference |
typedef vector< Reference > | VarVector |
typedef vector< Variable >::iterator | VariableIterator |
typedef vector< Variable >::const_iterator | VariableConstIterator |
typedef unordered_map< Identifier, VarVector::size_type > | SubVarDictionary |
typedef Utils::Exception< Variable > | Exception |
Private Member Functions | |
Variable & | initStateVariable (const Identifier &name) const |
Variable & | initFlowVariable (const Identifier &name) const |
Private Attributes | |
vector< NodeDecl::ConstReference > | _nodeDeclaration |
NodeVector | _nodeScope |
vector< Node > | _subNodes |
unordered_map< Identifier, unsigned int > | _subNodeDictionary |
vector< Variable::Reference > | _stateVariables |
unordered_map< Identifier, unsigned > | _stateVarDictionary |
vector< Variable::Reference > | _flowVariables |
unordered_map< Identifier, unsigned > | _flowVarDictionary |
vector< reference_wrapper< AltaricaModel > > | _owner |
Exception | |
typedef Utils::Exception< Node > | Exception |
static string | typeName () |
Additional Inherited Members | |
Static Public Member Functions inherited from Diades::Altarica::Variable | |
static string | typeName () |
Protected Member Functions inherited from Diades::Altarica::Variable | |
Variable & | initSubVariable (const Identifier &name) const |
Variable & | initSubVariable (unsigned index) const |
void | instanciateVariable () const |
This class implements a Node instance of the model. For example, if a node A is defined and in another node there is a sub-node b:A then the object 'b' is a Node of the Node A. A Node is a specialisation of a Variable
typedef reference_wrapper<Node const> Diades::Altarica::Node::ConstReference |
ConstReference
copiable reference of an Node Here we use a reference_wrapper to access any Node available in a model The basic idea is that any Node of a given AltaricaModel is created into the NodeFactory of the model. Once created, the factory returns a constant reference that is stored whereever it is required. Especially, if it is required to store such reference into an STL-vector, it is then required to a reference_wrapper. Hence the use of NodeRef for that purpose.
typedef std::vector<ConstReference> Diades::Altarica::Node::NodeVector |
typedef reference_wrapper<Node> Diades::Altarica::Node::Reference |
Reference
copiable reference of an Node Here we use a reference_wrapper to access any Node available in a model The basic idea is that any Node of a given AltaricaModel is created into the NodeFactory of the model. Once created, the factory returns a constant reference that is stored whereever it is required. Especially, if it is required to store such reference into an STL-vector, it is then required to a reference_wrapper. Hence the use of NodeRef for that purpose.
typedef NodeVector::const_iterator Diades::Altarica::Node::SubNodeConstIterator |
typedef NodeVector::iterator Diades::Altarica::Node::SubNodeIterator |
|
inline |
|
inline |
Definition at line 357 of file Node.hh.
References Diades::Altarica::NodeDecl::assertions(), and nodeDeclaration().
|
virtual |
const vector<Variable::Reference>& Diades::Altarica::Node::flowVariables | ( | ) | const |
Referenced by nodeDeclaration(), and printNodes().
vector<Variable::Reference>& Diades::Altarica::Node::flowVariables | ( | ) |
Variable& Diades::Altarica::Node::getFlowVariable | ( | const Identifier & | name | ) |
name | the name of a Flow variable |
Referenced by nodeDeclaration().
const Variable& Diades::Altarica::Node::getFlowVariable | ( | const Identifier & | name | ) | const |
name | the name of a Flow variable |
Variable& Diades::Altarica::Node::getStateVariable | ( | const Identifier & | name | ) |
name | the name of a State variable |
Referenced by nodeDeclaration().
const Variable& Diades::Altarica::Node::getStateVariable | ( | const Identifier & | name | ) | const |
name | the name of a Flow variable |
const Node& Diades::Altarica::Node::getSubNode | ( | const Identifier & | name | ) | const |
Referenced by nodeDeclaration().
|
virtual |
Set the associated declaration (NodeDecl)
declaration | the associated declaration (NodeDecl) |
Referenced by analyseComponent(), Diades::Altarica::Instance::mainNode(), and transitions().
|
private |
name | name of the Variable to initialise |
|
inline |
Definition at line 368 of file Node.hh.
References Diades::Altarica::NodeDecl::initialisations(), and nodeDeclaration().
void Diades::Altarica::Node::initialise | ( | ) |
Intialisation of the internal state of the node
Referenced by transitions().
|
private |
name | name of the Variable to initialise |
|
inline |
Definition at line 245 of file Node.hh.
References flowVariables(), getFlowVariable(), getStateVariable(), getSubNode(), Diades::Altarica::Variable::isNull(), Diades::Altarica::Variable::name(), require, stateVariables(), and subnodes().
Referenced by assertions(), initialisations(), and transitions().
|
inline |
Definition at line 231 of file Node.hh.
References Diades::Altarica::Variable::isNull(), and require.
Referenced by transitions().
|
inline |
|
inline |
const vector<Variable::Reference>& Diades::Altarica::Node::stateVariables | ( | ) | const |
Referenced by nodeDeclaration(), and printNodes().
vector<Variable::Reference>& Diades::Altarica::Node::stateVariables | ( | ) |
const vector<Node>& Diades::Altarica::Node::subnodes | ( | ) | const |
Referenced by nodeDeclaration(), and printNodes().
vector<Node>& Diades::Altarica::Node::subnodes | ( | ) |
|
inline |
Definition at line 380 of file Node.hh.
References clear(), Diades::Altarica::Variable::declaration(), init(), initialise(), nodeDeclaration(), nodeScope(), and Diades::Altarica::NodeDecl::transitions().
|
inlinestatic |
|
mutableprivate |
|
mutableprivate |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |