From 6e404b6eaacae8e7fc38b5d9264294d596d57f9f Mon Sep 17 00:00:00 2001 From: Denis Blank Date: Thu, 25 Jan 2018 05:00:19 +0100 Subject: [PATCH] Apply outer and inner size improvements for the callable wrapper * This will decrease the needed allocations heavily, since we don't have to allocate twice if a continuation is type erased since the outer type erasure may contain the inner one with zero costs. --- include/continuable/continuable-trait.hpp | 25 +++++++++++++-------- include/continuable/continuable.hpp | 27 +++++++++++++++++++---- 2 files changed, 39 insertions(+), 13 deletions(-) diff --git a/include/continuable/continuable-trait.hpp b/include/continuable/continuable-trait.hpp index 51575a4..cdbc0ef 100644 --- a/include/continuable/continuable-trait.hpp +++ b/include/continuable/continuable-trait.hpp @@ -31,9 +31,11 @@ #ifndef CONTINUABLE_TRAIT_HPP_INCLUDED__ #define CONTINUABLE_TRAIT_HPP_INCLUDED__ +#include + +#include #include #include -#include #include #include @@ -49,18 +51,23 @@ namespace cti { /// continuation data. /// /// \tparam Args The current signature of the continuable. -template