diff --git a/src/lib/diff/tree-mutator-collection-binding.hpp b/src/lib/diff/tree-mutator-collection-binding.hpp index 505ed3567..e84f66b4f 100644 --- a/src/lib/diff/tree-mutator-collection-binding.hpp +++ b/src/lib/diff/tree-mutator-collection-binding.hpp @@ -60,6 +60,8 @@ using lib::meta::Strip; using lib::diff::GenNode; + + /** verify the installed functors or lambdas expose the expected signature */ #define ASSERT_VALID_SIGNATURE(_FUN_, _SIG_) \ static_assert (has_Sig<_FUN_, _SIG_>::value, "Function " STRINGIFY(_FUN_) " unsuitable, expected signature: " STRINGIFY(_SIG_)); diff --git a/src/lib/diff/tree-mutator.hpp b/src/lib/diff/tree-mutator.hpp index 645e88bbb..3399ea019 100644 --- a/src/lib/diff/tree-mutator.hpp +++ b/src/lib/diff/tree-mutator.hpp @@ -280,6 +280,7 @@ namespace diff{ * @remarks Solution proposed 10/2011 by \link http://stackoverflow.com/users/224671/kennytm user "kennytm" \endlink * in this \link http://stackoverflow.com/questions/7943525/is-it-possible-to-figure-out-the-parameter-type-and-return-type-of-a-lambda/7943765#7943765 * answer on stackoverflow \endlink + * @todo this should be integrated into (\ref _Fun) //////////////////////////////////////TICKET #994 */ template struct _ClosureType diff --git a/src/lib/meta/function.hpp b/src/lib/meta/function.hpp index 485f489c0..771e05879 100644 --- a/src/lib/meta/function.hpp +++ b/src/lib/meta/function.hpp @@ -34,7 +34,10 @@ ** specifically tailored bindings. ** ** If the following code makes you feel like vomiting, please look away, - ** and rest assured: you aren't alone. + ** and rest assured: you aren't alone. + ** + ** @todo rework to use variadic templates and integrage support for lambdas //////////////////////////////////////TICKET #994 + ** ** ** @see control::CommandDef usage example ** @see function-closure.hpp generic function application @@ -216,6 +219,9 @@ namespace meta{ * irrespective if the parameter is given as function reference, * function pointer, member function pointer or functor object. * The base case assumes a (language) function reference. + * @todo the base case should be a _generic functor_ where we + * pick up the signature through `decltype`, which also + * works with lambdas. See (\ref _ClosureType) //////////////////////////////////////TICKET #994 */ template struct _Fun