libsesstype  2.0.0
Library for Session Types programming.
 All Classes Namespaces Files Functions
Public Member Functions
sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType > Class Template Reference

Existential construct. More...

#include <oneof.h>

Inheritance diagram for sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >:
Inheritance graph
[legend]
Collaboration diagram for sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 OneofNodeTmpl (RoleType *selector, unsigned int dimen)
 OneofNode constructor.
 OneofNodeTmpl (const OneofNodeTmpl &node)
 OneofNode copy constructor.
OneofNodeTmplclone () const override
 clone a OneofNode.
void set_var (std::string var)
std::string var () const
void set_repeat (bool repeat)
bool is_repeat () const
void set_range (RngExpr *range)
RngExprrange () const
void set_selector (RoleType *selector, unsigned int dimen)
RoleType * selector_role () const
unsigned int selector_dimen () const
void set_unordered (bool unordered)
bool is_unordered () const
virtual void accept (VisitorType &v) override

Detailed Description

template<class BaseNode, class RoleType, class MessageType, class VisitorType>
class sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >

Existential construct.


Constructor & Destructor Documentation

template<class BaseNode, class RoleType, class MessageType, class VisitorType>
sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::OneofNodeTmpl ( RoleType *  selector,
unsigned int  dimen 
) [inline]

OneofNode constructor.

Parameters:
[in]selector_roleRole to use as selector.
[in]dimenof the Role parameters to use as selector index domain.

Member Function Documentation

template<class BaseNode, class RoleType, class MessageType, class VisitorType>
bool sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::is_repeat ( ) const [inline]
Returns:
true if this is a repeat-oneof.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
bool sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::is_unordered ( ) const [inline]
Returns:
true if allow unordered access.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
RngExpr* sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::range ( ) const [inline]
Returns:
range of selection.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
unsigned int sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::selector_dimen ( ) const [inline]
Returns:
selector Role dimension.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
RoleType* sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::selector_role ( ) const [inline]
Returns:
selector Role.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
void sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::set_range ( RngExpr range) [inline]
Parameters:
[in]rangewithout variable.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
void sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::set_repeat ( bool  repeat) [inline]
Parameters:
[in]repeatboolean to indicate whether or not this is "repeat".
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
void sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::set_selector ( RoleType *  selector,
unsigned int  dimen 
) [inline]
Parameters:
[in]selector_roleRole to use as selector.
[in]dimenof the Role parameters to use as selector index domain.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
void sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::set_unordered ( bool  unordered) [inline]
Parameters:
[in]unorderedflag.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
void sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::set_var ( std::string  var) [inline]
Parameters:
[in]varto be used as existential variable name.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
std::string sesstype::parameterised::OneofNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::var ( ) const [inline]
Returns:
existential variable.

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions