[/
          Copyright Oliver Kowalke 2014.
 Distributed under the Boost Software License, Version 1.0.
    (See accompanying file LICENSE_1_0.txt or copy at
          http://www.boost.org/LICENSE_1_0.txt
]

[library Coroutine2
    [quickbook 1.5]
    [authors [Kowalke, Oliver]]
    [copyright 2014 Oliver Kowalke]
    [purpose C++11 Library providing coroutine facility]
    [id coroutine2]
    [category text]
    [license
        Distributed under the Boost Software License, Version 1.0.
        (See accompanying file LICENSE_1_0.txt or copy at
        [@http://www.boost.org/LICENSE_1_0.txt])
    ]
]


[def __boost_asio__ [*Boost.Asio]]
[def __boost_build__ [*Boost.Build]]
[def __boost_context__ [*Boost.Context]]
[def __boost_coroutine__ [*Boost.Coroutine2]]

[def __coro__ ['coroutine]]
[def __coro_fn__ ['coroutine-function]]
[def __coros__ ['coroutines]]
[def __ctx__ ['context]]
[def __not_a_coro__ ['not-a-coroutine]]
[def __segmented_stack__ ['segmented-stack]]
[def __signature__ ['Signature]]
[def __stack_allocator_concept__ ['stack-allocator concept]]
[def __stack_allocator__ ['stack-allocator]]
[def __stack_traits__ ['stack-traits]]
[def __stack__ ['stack]]
[def __tls__ ['thread-local-storage]]

[def __acoro__ ['coroutine<>]]
[def __attrs__ ['attributes]]
[def __begin__ ['std::begin()]]
[def __bind__ ['boost::bind()]]
[def __coro_allocator__ ['stack_allocator]]
[def __coro_ns__ ['boost::coroutines2]]
[def __econtext__ ['execution_context]]
[def __end__ ['std::end()]]
[def __fcontext__ ['boost::contexts::fcontext_t]]
[def __fetch__ ['inbuf::fetch()]]
[def __fixedsize__ ['fixedsize_stack]]
[def __forced_unwind__ ['detail::forced_unwind]]
[def __getline__ ['std::getline()]]
[def __handle_read__ ['session::handle_read()]]
[def __io_service__ ['boost::asio::io_sevice]]
[def __pooled_fixedsize__ ['pooled_fixedsize_stack]]
[def __protected_allocator__ ['protected_fixedsize]]
[def __protected_fixedsize__ ['protected_fixedsize_stack]]
[def __pull_coro__ ['coroutine<>::pull_type]]
[def __pull_coro_bool__ ['coroutine<>::pull_type::operator bool]]
[def __pull_coro_get__ ['coroutine<>::pull_type::get()]]
[def __pull_coro_it__ ['coroutine<>::pull_type::iterator]]
[def __pull_coro_op__ ['coroutine<>::pull_type::operator()]]
[def __push_coro__ ['coroutine<>::push_type]]
[def __push_coro_bool__ ['coroutine<>::push_type::operator bool]]
[def __push_coro_it__ ['coroutine<>::push_type::iterator]]
[def __push_coro_op__ ['coroutine<>::push_type::operator()]]
[def __segmented_allocator__ ['segmented]]
[def __segmented__ ['segmented_stack]]
[def __server__ ['server]]
[def __session__ ['session]]
[def __stack_context__ ['stack_context]]
[def __standard_allocator__ ['fixedsize]]
[def __start__ ['session::start()]]
[def __terminate__ ['std::terminate()]]
[def __underflow__ ['stream_buf::underflow()]]
[def __yield_context__ ['boost::asio::yield_context]]

[include overview.qbk]
[include intro.qbk]
[include motivation.qbk]
[include coroutine.qbk]
[include stack.qbk]
[include performance.qbk]
[include architectures.qbk]
[include acknowledgements.qbk]
