Class symmetric_coroutine<>::call_type
#include < boost / coroutine / symmetric_coroutine . hpp >
template < typename Arg >
class symmetric_coroutine <>:: call_type
{
public :
call_type () noexcept ;
template < typename Fn >
call_type ( Fn && fn , attributes const & attr = attributes () );
template < typename Fn , typename StackAllocator >
call_type ( Fn && fn , attributes const & attr , StackAllocator stack_alloc );
~ call_type ();
call_type ( call_type const & other )= delete ;
call_type & operator =( call_type const & other )= delete ;
call_type ( call_type && other ) noexcept ;
call_type & operator =( call_type && other ) noexcept ;
operator unspecified - bool - type () const ;
bool operator !() const noexcept ;
void swap ( call_type & other ) noexcept ;
call_type & operator ()( Arg arg ) noexcept ;
};
template < typename Arg >
void swap ( symmetric_coroutine < Arg >:: call_type & l , symmetric_coroutine < Arg >:: call_type & r );
Effects:
Создает корутин, представляющийне-корутин .
Throws:
Ничего.
Preconditions:
<size
>>= minimum_stacksize(),<size
><= maximum_stacksize() when ! is_stack_unbounded().
Effects:
Создает корутин, который будет выполнять<fn
>. Аргумент<attr
>определяет стек очистки. Для выделения/размещения используется стек<stack_alloc
>.
Preconditions:
<size
>>= minimum_stacksize(),<size
><= maximum_stacksize() when ! is_stack_unbounded().
Effects:
Создает корутин, который будет выполнять<fn
>. Аргумент<attr
>определяет стек очистки. Для выделения/размещения используется стек<stack_alloc
>.
Effects:
Уничтожает контекст и распределяет стек.
Effects:
Переносит внутренние данные<other
>на<* this
>.<other
>становитсяне-коротин .
Throws:
Ничего.
Effects:
Уничтожает внутренние данные<* this
>и перемещает внутренние данные<other
>в<* this
>.<other
>становитсяне-коротин .
Throws:
Ничего.
Returns:
Если<* this
>относится кне-a-coroutine или функция-coroutine вернулась (завершена), функция возвращается<false
>. В противном случае<true
>.
Throws:
Ничего.
Returns:
Если<* this
>относится кне-a-coroutine или функция-coroutine вернулась (завершена), функция возвращается<true
>. В противном случае<false
>.
Throws:
Ничего.
Effects:
Обмен внутренними данными<* this
>со значениями<other
>.
Throws:
Ничего.
symmetric_coroutine :: call_type & coroutine < Arg , StackAllocator >:: call_type :: operator ()( Arg );
symmetric_coroutine :: call_type & coroutine < Arg &, StackAllocator >:: call_type :: operator ()( Arg &);
symmetric_coroutine :: call_type & coroutine < void , StackAllocator >:: call_type :: operator ()();
Preconditions:
<true
>,<* this
>, [скрыто], [скрыто], [скрыто].
Effects:
Контроль исполнения передаетсякорутинной функции и аргумент<arg
>передается корутинной функции.
Throws:
Ничего.
template < typename Arg >
void swap ( symmetric_coroutine < Arg >:: call_type & l , symmetric_coroutine < Arg >:: call_type & r );
Effects:
Как будто "l.swap(r)".
Статья Class symmetric_coroutine<>::call_type раздела Chapter 1. Coroutine Symmetric coroutine может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Symmetric coroutine ::