1 #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
2 #define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
3 
4 // MS compatible compilers support #pragma once
5 
6 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7 # pragma once
8 #endif
9 
10 //
11 //  bind/placeholders.hpp - _N definitions
12 //
13 //  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
14 //
15 // Distributed under the Boost Software License, Version 1.0. (See
16 // accompanying file LICENSE_1_0.txt or copy at
17 // http://www.boost.org/LICENSE_1_0.txt)
18 //
19 //  See http://www.boost.org/libs/bind/bind.html for documentation.
20 //
21 
22 #include <boost/bind/arg.hpp>
23 #include <boost/config.hpp>
24 
25 namespace
26 {
27 
28 #if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ < 4)
29 
_1()30 static inline boost::arg<1> _1() { return boost::arg<1>(); }
_2()31 static inline boost::arg<2> _2() { return boost::arg<2>(); }
_3()32 static inline boost::arg<3> _3() { return boost::arg<3>(); }
_4()33 static inline boost::arg<4> _4() { return boost::arg<4>(); }
_5()34 static inline boost::arg<5> _5() { return boost::arg<5>(); }
_6()35 static inline boost::arg<6> _6() { return boost::arg<6>(); }
_7()36 static inline boost::arg<7> _7() { return boost::arg<7>(); }
_8()37 static inline boost::arg<8> _8() { return boost::arg<8>(); }
_9()38 static inline boost::arg<9> _9() { return boost::arg<9>(); }
39 
40 #elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \
41     defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 2)
42 
43 static boost::arg<1> _1;
44 static boost::arg<2> _2;
45 static boost::arg<3> _3;
46 static boost::arg<4> _4;
47 static boost::arg<5> _5;
48 static boost::arg<6> _6;
49 static boost::arg<7> _7;
50 static boost::arg<8> _8;
51 static boost::arg<9> _9;
52 
53 #else
54 
55 boost::arg<1> _1;
56 boost::arg<2> _2;
57 boost::arg<3> _3;
58 boost::arg<4> _4;
59 boost::arg<5> _5;
60 boost::arg<6> _6;
61 boost::arg<7> _7;
62 boost::arg<8> _8;
63 boost::arg<9> _9;
64 
65 #endif
66 
67 } // unnamed namespace
68 
69 #endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
70