Skip to content

Commit

Permalink
Only issue the deprecation message when BOOST_BIND_GLOBAL_PLACEHOLDER…
Browse files Browse the repository at this point in the history
…S isn't defined
  • Loading branch information
pdimov committed Feb 16, 2020
1 parent 5612ee4 commit 2797f0d
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions include/boost/bind.hpp
Expand Up @@ -23,14 +23,25 @@
// namespace are not a good practice and this use is deprecated.
// Please switch to including <boost/bind/bind.hpp> directly,
// adding the using directive locally where appropriate.

#include <boost/config/header_deprecated.hpp>
BOOST_HEADER_DEPRECATED( "<boost/bind/bind.hpp>" )
// Alternatively, the existing behavior may be preserved by defining
// the macro BOOST_BIND_GLOBAL_PLACEHOLDERS.

#include <boost/bind/bind.hpp>
#include <boost/config/pragma_message.hpp>

#ifndef BOOST_BIND_NO_PLACEHOLDERS

#if !defined(BOOST_BIND_GLOBAL_PLACEHOLDERS)

BOOST_PRAGMA_MESSAGE(
"The practice of declaring the Bind placeholders (_1, _2, ...) "
"in the global namespace is deprecated. Please use "
"<boost/bind/bind.hpp> + using namespace boost::placeholders, "
"or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior."
)

#endif

#if defined(BOOST_CLANG)
# pragma clang diagnostic push
# if __has_warning("-Wheader-hygiene")
Expand Down

0 comments on commit 2797f0d

Please sign in to comment.