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

Nested session type. More...

#include <nested.h>

List of all members.

Public Member Functions

 NestedNodeTmpl (std::string protocol_name)
 NestedNode constructor with no scope name by default.
 NestedNodeTmpl (std::string protocol_name, std::string scope)
 NestedNode constructor.
 NestedNodeTmpl (const NestedNodeTmpl &node)
 NestedNode copy constructor.
 ~NestedNodeTmpl () override
 NestedNode destructor.
NestedNodeTmplclone () const override
 clone a NestedNode.
std::string name () const
void set_scope (std::string scope)
std::string scope () const
void add_arg (MessageType *msg)
 add message instantiation arguments.
unsigned int num_args () const
MessageType * arg (unsigned int idx) const
std::vector< MessageType * >
::const_iterator 
arg_begin () const
std::vector< MessageType * >
::const_iterator 
arg_end () const
void add_arg (RoleType *role)
 add role instantiation arguments.
unsigned int num_roleargs () const
RoleType * rolearg (unsigned int idx) const
std::vector< RoleType * >
::const_iterator 
rolearg_begin () const
std::vector< RoleType * >
::const_iterator 
rolearg_end () const
void accept (VisitorType &v) override

Detailed Description

template<class BaseNode, class RoleType, class MessageType, class VisitorType>
class sesstype::NestedNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >

Nested session type.


Member Function Documentation

template<class BaseNode, class RoleType, class MessageType, class VisitorType>
void sesstype::NestedNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::add_arg ( MessageType *  msg) [inline]

add message instantiation arguments.

Parameters:
[in]argfor instantiation of message parameter.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
void sesstype::NestedNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::add_arg ( RoleType *  role) [inline]

add role instantiation arguments.

Parameters:
[in]rolefor instantiation of protocol.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
std::string sesstype::NestedNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::name ( ) const [inline]
Returns:
name of nested session to execute.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
unsigned int sesstype::NestedNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::num_args ( ) const [inline]
Returns:
number of Message arguments.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
unsigned int sesstype::NestedNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::num_roleargs ( ) const [inline]
Returns:
number of Role arguments.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
std::string sesstype::NestedNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::scope ( ) const [inline]
Returns:
scope name.
template<class BaseNode, class RoleType, class MessageType, class VisitorType>
void sesstype::NestedNodeTmpl< BaseNode, RoleType, MessageType, VisitorType >::set_scope ( std::string  scope) [inline]
Parameters:
[in]scope_nameto use for this NestedNode

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