From baa0a85e88ab9422e3364673a71a4a9e9bb68b73 Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 31 Aug 2015 07:36:43 +0000 Subject: [PATCH] fixed with to compile with GCC git-svn-id: svn://ultimatepp.org/upp/trunk@8876 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/Callback0.h | 5 +++++ uppsrc/Core/Map.h | 4 ++-- uppsrc/CtrlCore/CtrlCore.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/uppsrc/Core/Callback0.h b/uppsrc/Core/Callback0.h index c136add55..3086991bf 100644 --- a/uppsrc/Core/Callback0.h +++ b/uppsrc/Core/Callback0.h @@ -64,8 +64,11 @@ inline Callback Proxy(Callback& cb) Callback callback(Callback cb1, Callback cb2); Callback& operator<<(Callback& a, Callback b); + +#ifdef CPP_11 inline Callback& operator<<(Callback& a, std::function fn) { return a << Callback(lambda(fn)); }; +#endif //0 args to Callback1 @@ -151,11 +154,13 @@ Callback1& operator<<(Callback1& a, Callback1 b) return a; } +#ifdef CPP_11 template Callback1& operator<<(Callback1& a, std::function b) { return a << Callback(lambda(b)); } +#endif //0 args to Callback2 diff --git a/uppsrc/Core/Map.h b/uppsrc/Core/Map.h index 7fe5a40cb..afa255de4 100644 --- a/uppsrc/Core/Map.h +++ b/uppsrc/Core/Map.h @@ -162,7 +162,7 @@ public: VectorMap() {} #ifdef CPP_11 - VectorMap(std::initializer_list> init) : AMap(init) {} + VectorMap(std::initializer_list> init) : B::AMap(init) {} #endif friend void Swap(VectorMap& a, VectorMap& b) { a.B::Swap(b); } @@ -195,7 +195,7 @@ public: ArrayMap() {} #ifdef CPP_11 - ArrayMap(std::initializer_list> init) : AMap(init) {} + ArrayMap(std::initializer_list> init) : B::AMap(init) {} #endif friend void Swap(ArrayMap& a, ArrayMap& b) { a.B::Swap(b); } diff --git a/uppsrc/CtrlCore/CtrlCore.h b/uppsrc/CtrlCore/CtrlCore.h index 26de730a1..61e0199bc 100644 --- a/uppsrc/CtrlCore/CtrlCore.h +++ b/uppsrc/CtrlCore/CtrlCore.h @@ -1137,7 +1137,9 @@ public: Callback operator<<=(Callback action) { WhenAction = action; return action; } Callback& operator<<(Callback action) { return WhenAction << action; } +#ifdef CPP_11 Callback& operator<<(std::function action) { return WhenAction << action; } +#endif void SetTimeCallback(int delay_ms, Callback cb, int id = 0); void KillTimeCallback(int id = 0);