From 855f3524f42c0039410a09334c3c703d09109570 Mon Sep 17 00:00:00 2001 From: Luigi Ballabio Date: Thu, 30 Apr 2020 17:11:05 +0200 Subject: [PATCH] Get bind placeholders from boost::placeholders namespace. --- ql/functional.hpp | 6 +++++- ql/patterns/observable.cpp | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ql/functional.hpp b/ql/functional.hpp index 71a890e596a..0d71a9ce836 100644 --- a/ql/functional.hpp +++ b/ql/functional.hpp @@ -34,7 +34,7 @@ #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #endif #include -#include +#include #include #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4)) #pragma GCC diagnostic pop @@ -59,6 +59,9 @@ namespace QuantLib { using boost::ref; using boost::cref; namespace placeholders { + #if BOOST_VERSION >= 106000 + using namespace boost::placeholders; + #else using ::_1; using ::_2; using ::_3; @@ -68,6 +71,7 @@ namespace QuantLib { using ::_7; using ::_8; using ::_9; + #endif } #endif diff --git a/ql/patterns/observable.cpp b/ql/patterns/observable.cpp index ce7ac3c2bea..e575733cea3 100644 --- a/ql/patterns/observable.cpp +++ b/ql/patterns/observable.cpp @@ -96,7 +96,13 @@ namespace QuantLib { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #endif -#include + +#if !defined(BOOST_BIND_NO_PLACEHOLDERS) +#define BOOST_BIND_NO_PLACEHOLDERS +#include +#undef BOOST_BIND_NO_PLACEHOLDERS +#endif + #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 8)) || (__GNUC__ > 4)) #pragma GCC diagnostic pop #endif