From c4a19efa5561dd5369ca37fd1a6714ed6e1ba61a Mon Sep 17 00:00:00 2001 From: Denis Blank Date: Tue, 30 Jan 2018 00:13:54 +0100 Subject: [PATCH] Some const additions --- include/continuable/detail/composition.hpp | 16 ++++++++-------- include/continuable/detail/transforms.hpp | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/continuable/detail/composition.hpp b/include/continuable/detail/composition.hpp index 040a0bb..11e0a3f 100644 --- a/include/continuable/detail/composition.hpp +++ b/include/continuable/detail/composition.hpp @@ -348,7 +348,7 @@ auto finalize_composition( auto composition = base::attorney::consume_data(std::move(continuation)); // Merge all signature hints together - constexpr auto signature = traits::unpack(composition, entry_merger{}); + constexpr auto const signature = traits::unpack(composition, entry_merger{}); return base::attorney::create( [ signature, @@ -357,11 +357,11 @@ auto finalize_composition( // std::pair, size_constant> // ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ // Continuation pos Result pos - constexpr auto begin = std::make_pair(traits::size_constant_of<0>(), + constexpr auto const begin = std::make_pair(traits::size_constant_of<0>(), traits::size_constant_of<0>()); - constexpr auto pack = traits::identify{}; - constexpr auto end = traits::pack_size_of(pack); - auto condition = [=](auto pos) { return pos.first < end; }; + constexpr auto const pack = traits::identify{}; + constexpr auto const end = traits::pack_size_of(pack); + auto const condition = [=](auto pos) { return pos.first < end; }; // Create the result submitter which caches all results and invokes // the final callback upon completion. @@ -374,11 +374,11 @@ auto finalize_composition( std::move(std::get(composition)); // This is the length of the arguments of the current continuable - constexpr auto arg_size = + constexpr auto const arg_size = traits::pack_size_of(hints::hint_of(traits::identity_of(entry))); // The next position in the result tuple - constexpr auto next = current.second + arg_size; + constexpr auto const next = current.second + arg_size; // Invoke the continuation with the associated submission callback base::attorney::invoke_continuation( @@ -457,7 +457,7 @@ auto finalize_composition( auto composition = base::attorney::consume_data(std::move(continuation)); - constexpr auto signature = + constexpr auto const signature = traits::unpack(composition, determine_shared_result{}); return base::attorney::create( diff --git a/include/continuable/detail/transforms.hpp b/include/continuable/detail/transforms.hpp index 889d3dc..c1b1c60 100644 --- a/include/continuable/detail/transforms.hpp +++ b/include/continuable/detail/transforms.hpp @@ -120,7 +120,8 @@ public: template auto as_future(continuable_base&& continuable) { // Create the promise which is able to supply the current arguments - auto hint = hints::hint_of(traits::identity_of(continuable)); + constexpr auto const hint = + hints::hint_of(traits::identify{}); promise_callback> callback; (void)hint;