SObjectizer  5.5
Public Member Functions | Private Member Functions | Private Attributes | List of all members
so_5::details::introduce_coop_helper_t Class Reference

Helper class for building and registering new cooperation. More...

#include <environment.hpp>

Public Member Functions

 introduce_coop_helper_t (environment_t &env)
 Constructor for the case of creation a cooperation without parent. More...
 
 introduce_coop_helper_t (environment_t &env, const std::string &parent_coop_name)
 Constructor for the case of creation of child cooperation. More...
 
template<typename L >
void introduce (L &&lambda)
 
template<typename L >
void introduce (autoname_indicator_t(), L &&lambda)
 
template<typename L >
void introduce (disp_binder_unique_ptr_t binder, L &&lambda)
 
template<typename L >
void introduce (autoname_indicator_t(), disp_binder_unique_ptr_t binder, L &&lambda)
 
template<typename L >
void introduce (const std::string &name, L &&lambda)
 
template<typename L >
void introduce (const std::string &name, disp_binder_unique_ptr_t binder, L &&lambda)
 

Private Member Functions

template<typename Coop_Name , typename Lambda >
void build_and_register_coop (Coop_Name &&name, disp_binder_unique_ptr_t binder, Lambda &&lambda)
 

Private Attributes

environment_tm_env
 Environment for creation of cooperation. More...
 
const std::string * m_parent_coop_name
 Optional name of parent cooperation. More...
 

Detailed Description

Helper class for building and registering new cooperation.

Since
v.5.5.5

Constructor & Destructor Documentation

◆ introduce_coop_helper_t() [1/2]

so_5::details::introduce_coop_helper_t::introduce_coop_helper_t ( environment_t env)
inline

Constructor for the case of creation a cooperation without parent.

◆ introduce_coop_helper_t() [2/2]

so_5::details::introduce_coop_helper_t::introduce_coop_helper_t ( environment_t env,
const std::string &  parent_coop_name 
)
inline

Constructor for the case of creation of child cooperation.

Member Function Documentation

◆ build_and_register_coop()

template<typename Coop_Name , typename Lambda >
void so_5::details::introduce_coop_helper_t::build_and_register_coop ( Coop_Name &&  name,
disp_binder_unique_ptr_t  binder,
Lambda &&  lambda 
)
inlineprivate

◆ introduce() [1/6]

template<typename L >
void so_5::details::introduce_coop_helper_t::introduce ( L &&  lambda)
inline

For the case:

  • name autogenerated;
  • default dispatcher is used.

◆ introduce() [2/6]

template<typename L >
void so_5::details::introduce_coop_helper_t::introduce ( autoname_indicator_t()  ,
L &&  lambda 
)
inline

For the case:

  • name autogenerated;
  • default dispatcher is used.

◆ introduce() [3/6]

template<typename L >
void so_5::details::introduce_coop_helper_t::introduce ( disp_binder_unique_ptr_t  binder,
L &&  lambda 
)
inline

For the case:

  • name autogenerated;
  • dispatcher builder is specified.

◆ introduce() [4/6]

template<typename L >
void so_5::details::introduce_coop_helper_t::introduce ( autoname_indicator_t()  ,
disp_binder_unique_ptr_t  binder,
L &&  lambda 
)
inline

For the case:

  • name autogenerated;
  • dispatcher builder is specified.

◆ introduce() [5/6]

template<typename L >
void so_5::details::introduce_coop_helper_t::introduce ( const std::string &  name,
L &&  lambda 
)
inline

For the case:

  • name explicitely specified;
  • default dispatcher is used.

◆ introduce() [6/6]

template<typename L >
void so_5::details::introduce_coop_helper_t::introduce ( const std::string &  name,
disp_binder_unique_ptr_t  binder,
L &&  lambda 
)
inline

For the case:

  • name explicitely specified;
  • dispatcher builder is specified.

Member Data Documentation

◆ m_env

environment_t& so_5::details::introduce_coop_helper_t::m_env
private

Environment for creation of cooperation.

◆ m_parent_coop_name

const std::string* so_5::details::introduce_coop_helper_t::m_parent_coop_name
private

Optional name of parent cooperation.

Value nullptr means that there is no parent.


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