From a503ddae2612a0a6f4678bfaff5e33e9f7433b61 Mon Sep 17 00:00:00 2001 From: Olivier Parcollet Date: Tue, 18 Feb 2014 15:28:20 +0100 Subject: [PATCH] clef: correction of macro - a strange issue, why was it not working ? - anyway, the separation is useless (was a try). --- triqs/clef/clef.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/triqs/clef/clef.hpp b/triqs/clef/clef.hpp index fb7c6934..e299e0c5 100644 --- a/triqs/clef/clef.hpp +++ b/triqs/clef/clef.hpp @@ -551,6 +551,13 @@ namespace triqs { namespace clef { * The lookup happens by ADL, so IT MUST BE USED IN THE triqs::lazy namespace * --------------------------------------------------------------------------------------------------- */ #define TRIQS_CLEF_MAKE_FNT_LAZY(name) \ + struct name##_lazy_impl { \ + template auto operator()(A&&... a) const DECL_AND_RETURN(name(std::forward(a)...)); \ + }; \ + template auto name(A&&... a) DECL_AND_RETURN(make_expr_call(name##_lazy_impl(), std::forward(a)...)); + + +#define TRIQS_CLEF_MAKE_FNT_LAZY_BIS(name) \ struct name##_lazy_impl { \ template auto operator()(A&&... a) const -> decltype(name(std::forward(a)...)); \ }; \