Class asymmetric_coroutine<>::push_type
#include < boost / coroutine / asymmetric_coroutine . hpp >
template < typename Arg >
class asymmetric_coroutine <>:: push_type
{
public :
push_type () noexcept ;
template < typename Fn >
push_type ( Fn && fn , attributes const & attr = attributes () );
template < typename Fn , typename StackAllocator >
push_type ( Fn && fn , attributes const & attr , StackAllocator stack_alloc );
push_type ( push_type const & other )= delete ;
push_type & operator =( push_type const & other )= delete ;
~ push_type ();
push_type ( push_type && other ) noexcept ;
push_type & operator =( push_type && other ) noexcept ;
operator unspecified - bool - type () const noexcept ;
bool operator !() const noexcept ;
void swap ( push_type & other ) noexcept ;
push_type & operator ()( Arg arg );
};
template < typename Arg >
void swap ( push_type < Arg > & l , push_type < Arg > & r );
template < typename Arg >
range_iterator < push_type < Arg > >:: type begin ( push_type < Arg > &);
template < typename Arg >
range_iterator < push_type < Arg > >:: type end ( push_type < Arg > &);
Effects:
Создает корутин, представляющийне-корутин .
Throws:
Ничего.
Preconditions:
размер
>= минимальный размер (),размер
<= maximum_stacksize() при ! is_stack_unbounded().
Effects:
Создает корутин, который будет исполнять .
. Аргументattr
определяет стек очистки.
Preconditions:
размер
>= минимальный размер (),размер
<= maximum_stacksize() при ! is_stack_unbounded().
Effects:
Создает корутин, который будет исполнять .
. Аргументattr
определяет стек очистки. Для выделения/размещения используется стекstack_alloc
.
Effects:
Уничтожает контекст и распределяет стек.
Effects:
Переносит внутренние данныедругих
на* это
.другие
становятсяне-корутинными .
Throws:
Ничего.
Effects:
Уничтожает внутренние данные* этого
и перемещает внутренние данныедругих
вэтого
.других
становитсяне-корутинным .
Throws:
Ничего.
Returns:
Если* это
относится кне-а-коротин или функция-коротин вернулась (завершена), функция возвращаетложную
В противном случаеистинно
.
Throws:
Ничего.
Returns:
Если* это
относится кне-коротин или функция коротин вернулась (завершена), функция возвращаетистинное
.
Throws:
Ничего.
push_type & asymmetric_coroutine < Arg >:: push_type :: operator ()( Arg );
push_type & asymmetric_coroutine < Arg &>:: push_type :: operator ()( Arg &);
push_type & asymmetric_coroutine < void >:: push_type :: operator ()();
Preconditions:
истинно
для* это
.
Effects:
Контроль исполнения передаетсякорутинной функции и аргументarg
передается корутинной функции.
Throws:
Исключения, брошенные внутрькорутин-функция .
Effects:
Перемещает внутренние данные из* этого
со значениямидругого
.
Throws:
Ничего.
template < typename Arg >
void swap ( push_type < Arg > & l , push_type < Arg > & r );
Effects:
Как будто "l.swap(r)".
template < typename Arg >
range_iterator < push_type < Arg > >:: type begin ( push_type < Arg > &);
Returns:
Возвращает дальномер (output-iterator).
template < typename Arg >
range_iterator < push_type < Arg > >:: type end ( push_type < Arg > &);
Returns:
Возвращает конечный дальномер (output-iterator).
Note:
При первом получении отначинают толкают_тип < R > &]
, или после некоторого количества операций приращения, итератор будет сравниваться с итератором, возвращаемымконцом толкают_тип < >
, когда соответствующийасимметричный_coroutine<>]::push_тип::operator bool возвращал быложный
.
Статья Class asymmetric_coroutine<>::push_type раздела Chapter 1. Coroutine Asymmetric coroutine может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Asymmetric coroutine ::