]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/numeric/odeint/include/boost/numeric/odeint/util/bind.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / numeric / odeint / include / boost / numeric / odeint / util / bind.hpp
1 /*
2 * [begin_description]
3 * Boost bind pull the placeholders, _1, _2, ... into global
4 * namespace. This can conflict with the C++03 TR1 and C++11
5 * std::placeholders. This header provides a workaround for
6 * this problem.
7 * [end_description]
8 *
9 * Copyright 2012 Christoph Koke
10 * Copyright 2012 Karsten Ahnert
11 *
12 * Distributed under the Boost Software License, Version 1.0.
13 * (See accompanying file LICENSE_1_0.txt or
14 * copy at http://www.boost.org/LICENSE_1_0.txt)
15 * */
16
17 #ifndef BOOST_NUMERIC_ODEINT_UTIL_BIND_HPP_INCLUDED
18 #define BOOST_NUMERIC_ODEINT_UTIL_BIND_HPP_INCLUDED
19
20
21 #include <boost/numeric/odeint/config.hpp>
22
23
24 #if BOOST_NUMERIC_ODEINT_CXX11
25 #include <functional>
26 #else
27 #define BOOST_BIND_NO_PLACEHOLDERS
28 #include <boost/bind.hpp>
29 #endif
30
31 namespace boost {
32 namespace numeric {
33 namespace odeint {
34 namespace detail {
35
36 #if BOOST_NUMERIC_ODEINT_CXX11
37
38 using ::std::bind;
39 using namespace ::std::placeholders;
40
41
42 #else
43
44 // unnamed namespace to avoid multiple declarations (#138)
45 namespace {
46 using ::boost::bind;
47 boost::arg<1> _1;
48 boost::arg<2> _2;
49 }
50 // using ::boost::bind;
51 // using ::_1;
52 // using ::_2;
53
54 #endif
55
56 }
57 }
58 }
59 }
60
61
62
63
64
65 /*
66
67 // the following is the suggested way. Unfortunately it does not work with all compilers.
68
69 #ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
70 #include <boost/bind.hpp>
71 #else
72 #include <functional>
73 #endif
74
75
76 namespace boost {
77 namespace numeric {
78 namespace odeint {
79 namespace detail {
80
81
82 #ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
83
84 using ::boost::bind;
85 using ::_1;
86 using ::_2;
87
88 #else
89
90 using ::std::bind;
91 using namespace ::std::placeholders;
92
93 #endif
94
95
96 }
97 }
98 }
99 }*/
100
101 #endif // BOOST_NUMERIC_ODEINT_UTIL_BIND_HPP_INCLUDED