|
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 ::
|
|