Parameterised Role (participant) of a protocol or session. More...
#include <role.h>
Public Member Functions | |
Role () | |
Role constructor with "default" as name. | |
Role (std::string name) | |
Role constructor. | |
Role (const Role &role) | |
Role copy constructor. | |
~Role () override | |
Role destructor. | |
Role * | clone () const override |
clone a Role | |
unsigned int | num_dimens () const |
void | add_param (Expr *param) |
Expr * | operator[] (std::size_t idx) const |
virtual bool | matches (sesstype::Role *other) const |
Check if this Role is/is in another Role. | |
virtual void | accept (util::RoleVisitor &v) |
This subsumes accept in base class (but RoleVisitor is not a subclass) | |
Friends | |
std::ostream & | operator<< (std::ostream &os, Role &role) |
Parameterised Role (participant) of a protocol or session.
void sesstype::parameterised::Role::add_param | ( | Expr * | param | ) | [inline] |
[in] | param | Adds parameter as a new dimension to the Role. |
virtual bool sesstype::parameterised::Role::matches | ( | sesstype::Role * | other | ) | const [inline, virtual] |
Check if this Role is/is in another Role.
Reimplemented from sesstype::Role.
Reimplemented in sesstype::parameterised::RoleGrp.
unsigned int sesstype::parameterised::Role::num_dimens | ( | ) | const [inline] |
Expr* sesstype::parameterised::Role::operator[] | ( | std::size_t | idx | ) | const [inline] |
[in] | idx | Dimension index of parameterised Role. |
std::out_of_range | if dimension idx does not exist. |