SObjectizer  5.5
Public Member Functions | Private Attributes | List of all members
so_5::prepared_select_t< Cases_Count > Class Template Reference

Special container for holding select parameters and select cases. More...

#include <mchain_select.hpp>

Public Member Functions

 prepared_select_t (const prepared_select_t &)=delete
 
prepared_select_toperator= (const prepared_select_t &)=delete
 
template<typename... Cases>
 prepared_select_t (mchain_select_params_t params, Cases &&... cases)
 Initializing constructor. More...
 
 prepared_select_t (prepared_select_t &&other)
 Move constructor. More...
 
prepared_select_toperator= (prepared_select_t &&other) SO_5_NOEXCEPT
 Move operator. More...
 
void swap (prepared_select_t &o) SO_5_NOEXCEPT
 Swap operation. More...
 
Getters
const mchain_select_params_tparams () const
 
const mchain_props::details::select_cases_holder_t< Cases_Count > & cases () const
 

Private Attributes

mchain_select_params_t m_params
 Parameters for select. More...
 
mchain_props::details::select_cases_holder_t< Cases_Count > m_cases_holder
 Cases for select. More...
 

Detailed Description

template<std::size_t Cases_Count>
class so_5::prepared_select_t< Cases_Count >

Special container for holding select parameters and select cases.

Note
Instances of that type usually used without specifying the actual type:
auto prepared = so_5::prepare_select(
so_5::from_all().handle_n(10).empty_timeout(10s),
case_( ch1, some_handlers... ),
case_( ch2, more_handlers... ), ... );
...
auto r = so_5::select( prepared );
This is a moveable type, not copyable.
Since
v.5.5.17

Constructor & Destructor Documentation

◆ prepared_select_t() [1/3]

template<std::size_t Cases_Count>
so_5::prepared_select_t< Cases_Count >::prepared_select_t ( const prepared_select_t< Cases_Count > &  )
delete

◆ prepared_select_t() [2/3]

template<std::size_t Cases_Count>
template<typename... Cases>
so_5::prepared_select_t< Cases_Count >::prepared_select_t ( mchain_select_params_t  params,
Cases &&...  cases 
)
inline

Initializing constructor.

◆ prepared_select_t() [3/3]

template<std::size_t Cases_Count>
so_5::prepared_select_t< Cases_Count >::prepared_select_t ( prepared_select_t< Cases_Count > &&  other)
inline

Move constructor.

Member Function Documentation

◆ cases()

template<std::size_t Cases_Count>
const mchain_props::details::select_cases_holder_t< Cases_Count >& so_5::prepared_select_t< Cases_Count >::cases ( ) const
inline

◆ operator=() [1/2]

template<std::size_t Cases_Count>
prepared_select_t& so_5::prepared_select_t< Cases_Count >::operator= ( const prepared_select_t< Cases_Count > &  )
delete

◆ operator=() [2/2]

template<std::size_t Cases_Count>
prepared_select_t& so_5::prepared_select_t< Cases_Count >::operator= ( prepared_select_t< Cases_Count > &&  other)
inline

Move operator.

◆ params()

template<std::size_t Cases_Count>
const mchain_select_params_t& so_5::prepared_select_t< Cases_Count >::params ( ) const
inline

◆ swap()

template<std::size_t Cases_Count>
void so_5::prepared_select_t< Cases_Count >::swap ( prepared_select_t< Cases_Count > &  o)
inline

Swap operation.

Member Data Documentation

◆ m_cases_holder

template<std::size_t Cases_Count>
mchain_props::details::select_cases_holder_t< Cases_Count > so_5::prepared_select_t< Cases_Count >::m_cases_holder
private

Cases for select.

◆ m_params

template<std::size_t Cases_Count>
mchain_select_params_t so_5::prepared_select_t< Cases_Count >::m_params
private

Parameters for select.


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