mirror of
https://github.com/Naios/continuable.git
synced 2026-02-06 01:39:47 +08:00
forward declarate everything
This commit is contained in:
parent
ba533d2beb
commit
13e1aedeaa
@ -23,11 +23,26 @@
|
|||||||
|
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
|
// ContinuableState forward declaration.
|
||||||
/// The internal state of the continuable
|
/// The internal state of the continuable
|
||||||
/// which is used to save certain internal types.
|
/// which is used to save certain internal types.
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
struct ContinuableState;
|
struct ContinuableState;
|
||||||
|
|
||||||
|
// ContinuableImpl forward declaration.
|
||||||
|
template<typename _STy, typename _CTy>
|
||||||
|
class _ContinuableImpl;
|
||||||
|
|
||||||
|
// convert_void_to_continuable forward declaration.
|
||||||
|
/// Corrects void return types from functional types which should be
|
||||||
|
/// Continuable<DefaultContinuableState, Callback<>>
|
||||||
|
template<typename _RTy>
|
||||||
|
struct convert_void_to_continuable;
|
||||||
|
|
||||||
|
// unary_chainer forward declaration.
|
||||||
|
template<typename _NextRTy, typename... _NextATy>
|
||||||
|
struct unary_chainer;
|
||||||
|
|
||||||
template<typename... _Cain, typename _Proxy>
|
template<typename... _Cain, typename _Proxy>
|
||||||
struct ContinuableState<std::tuple<_Cain...>, _Proxy>
|
struct ContinuableState<std::tuple<_Cain...>, _Proxy>
|
||||||
{
|
{
|
||||||
@ -35,17 +50,6 @@ namespace detail
|
|||||||
|
|
||||||
typedef ContinuableState<std::tuple<>, void> DefaultContinuableState;
|
typedef ContinuableState<std::tuple<>, void> DefaultContinuableState;
|
||||||
|
|
||||||
// ContinuableImpl Forward definition
|
|
||||||
template<typename _STy, typename _CTy>
|
|
||||||
class _ContinuableImpl;
|
|
||||||
|
|
||||||
/// Corrects void return types from functional types which should be Continuable<DefaultContinuableState, Callback<>>
|
|
||||||
template<typename _RTy>
|
|
||||||
struct convert_void_to_continuable;
|
|
||||||
|
|
||||||
template<typename _NextRTy, typename... _NextATy>
|
|
||||||
struct unary_chainer;
|
|
||||||
|
|
||||||
// MSVC 12 has issues to detect the parameter pack otherwise.
|
// MSVC 12 has issues to detect the parameter pack otherwise.
|
||||||
template<typename _NextRTy, typename... _NextATy>
|
template<typename _NextRTy, typename... _NextATy>
|
||||||
struct unary_chainer<_NextRTy, fu::identity<_NextATy...>>
|
struct unary_chainer<_NextRTy, fu::identity<_NextATy...>>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user