Publishing R3
[platform/upstream/dldt.git] / inference-engine / thirdparty / clDNN / common / boost / 1.64.0 / include / boost-1_64 / 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