Update the doxgen documentation

This commit is contained in:
Denis Blank 2017-10-04 19:19:39 +02:00
parent f3c33b58c6
commit dcadc77956
3 changed files with 14 additions and 13 deletions

View File

@ -44,10 +44,6 @@ The continuable library was designed in order to provide you as much as flexibil
- There is no enforced type erasure which means there is less memory allocation and thus the callback chains are heavily optimizable by the compiler. That's why the library is well usable in the embedded or gaming field. **Don't pay for what you don't use!**
- The library provides support for **dispatching callbacks on a given executor**, however, it doesn't provide it's own one. You probably will use your own executor like [asio](https://github.com/chriskohlhoff/asio), [libuv](https://github.com/libuv/libuv) or a corresponding [lock-free concurrentqueue](https://github.com/cameron314/concurrentqueue) anyway. In most cases, the executor will do the type erasure for you, so there is no reason to do it twice.
- The library provides as much as **syntactic sugar** as it's possible, in order to make continuation chaining expressive and simple. For instance, it allows you to logical connect continuables through the well-known operators `&&` and `||`.
- The library is header only and has **fewer dependencies**:
- The `continuable-base.hpp` header only depends on the standard library and provides the basic continuation logic.
- The `continuable-test.hpp` header also depends on `gtest` because it adds various test macros for asserting on the result of asynchronous continuations.
- The `continuable.hpp`header depends on my header-only [function2](https://github.com/Naios/function2) library for providing efficient type erasure - non-copyable objects are natively supported without any workaround.
## Installation

View File

@ -5,29 +5,34 @@ This documentation covers the continuable library in detail
## Content
- **Class cti::continuable_base** - main class for continuation chaining.
- \link cti::continuable_base::then then\endlink - adds a callback or cti::continuable_base to the invocation chain.
- \link cti::continuable_base::then then\endlink - adds a callback or cti::continuable_base to the invocation chain.
- \link cti::continuable_base::fail fail\endlink - adds an error callback to the invocation chain.
- \link cti::continuable_base::flow flow\endlink - adds an error and result callback to the invocation chain.
- \link cti::continuable_base::operator | operator|\endlink - connects another object through \link cti::continuable_base::then then\endlink.
- \link cti::continuable_base::operator && operator&&\endlink - connects another cti::continuable_base with an *all* logic.
- \link cti::continuable_base::operator|| operator||\endlink - connects another cti::continuable_base with an *any* logic.
- \link cti::continuable_base::operator>> operator>>\endlink - connects another cti::continuable_base with a *sequential* logic.
- \link cti::continuable_base::futurize futurize\endlink - \copybrief cti::continuable_base::futurize
- \link cti::continuable_base::done done\endlink - \copybrief cti::continuable_base::done
- \link cti::continuable_base::freeze freeze \endlink - prevents the automatic invocation on destruction of the cti::continuable_base.
- \link cti::continuable_base::is_frozen is_frozen\endlink - \copybrief cti::continuable_base::is_frozen
- **Helper functions**
- \link cti::make_continuable make_continuable\endlink - creates a cti::continuable_base from a callback tanking function.
- \link cti::when_all when_all\endlink - connects all given cti::continuable_base objects with an *all* logic.
- \link cti::when_any when_any\endlink - connects all given cti::continuable_base objects with an *any* logic.
- \link cti::when_seq when_seq\endlink - connects all given cti::continuable_base objects with a *sequence* logic.
- **Transforms** - Apply a transform to the continuable
- \link cti::futurize futurize\endlink - \copybrief cti::futurize
- \link cti::flatten flatten\endlink - \copybrief cti::flatten
- **Predefined erasures** - Predefined type erarasures for continuables and promises
- \link cti::promise promise\endlink - \copybrief cti::promise
- \link cti::continuable continuable\endlink - \copybrief cti::continuable
- \link cti::unique_continuable unique_continuable\endlink - \copybrief cti::unique_continuable
- **Class cti::continuable_trait** - A trait class for defining your own cti::continuable_base trait with the type-erasure backend of your choice.
- \link cti::continuable_trait::callback callback\endlink - \copybrief cti::continuable_trait::callback
- \link cti::continuable_trait::continuation continuation\endlink - \copybrief cti::continuable_trait::continuation
- \link cti::continuable_trait::promise promise\endlink - \copybrief cti::continuable_trait::promise
- \link cti::continuable_trait::continuable continuable\endlink - \copybrief cti::continuable_trait::continuable
- **GTest macros:**
- \link ASSERT_ASYNC_COMPLETION ASSERT_ASYNC_COMPLETION \endlink - \copybrief ASSERT_ASYNC_COMPLETION
- \link ASSERT_ASYNC_NEVER_COMPLETED ASSERT_ASYNC_NEVER_COMPLETED \endlink - \copybrief ASSERT_ASYNC_NEVER_COMPLETED
- \link ASSERT_ASYNC_INCOMPLETION ASSERT_ASYNC_INCOMPLETION \endlink - \copybrief ASSERT_ASYNC_INCOMPLETION
- \link ASSERT_ASYNC_VALIDATION ASSERT_ASYNC_VALIDATION \endlink - \copybrief ASSERT_ASYNC_VALIDATION
- \link ASSERT_ASYNC_BINARY_VALIDATION ASSERT_ASYNC_BINARY_VALIDATION \endlink - \copybrief ASSERT_ASYNC_BINARY_VALIDATION
- \link EXPECT_ASYNC_RESULT EXPECT_ASYNC_RESULT \endlink - \copybrief EXPECT_ASYNC_RESULT

View File

@ -1,4 +1,5 @@
set(LIB_SOURCES
${CMAKE_SOURCE_DIR}/include/continuable/continuable-api.hpp
${CMAKE_SOURCE_DIR}/include/continuable/continuable.hpp
${CMAKE_SOURCE_DIR}/include/continuable/continuable-base.hpp
${CMAKE_SOURCE_DIR}/include/continuable/continuable-trait.hpp
@ -8,7 +9,6 @@ set(LIB_SOURCES
set(LIB_SOURCES_DETAIL
${CMAKE_SOURCE_DIR}/include/continuable/detail/base.hpp
${CMAKE_SOURCE_DIR}/include/continuable/detail/composition.hpp
${CMAKE_SOURCE_DIR}/include/continuable/detail/api.hpp
${CMAKE_SOURCE_DIR}/include/continuable/detail/hints.hpp
${CMAKE_SOURCE_DIR}/include/continuable/detail/features.hpp
${CMAKE_SOURCE_DIR}/include/continuable/detail/traits.hpp