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// Copyright 2015 Peter Dimov
15//
16// Distributed under the Boost Software License, Version 1.0.
17// See accompanying file LICENSE_1_0.txt or copy at
18// http://www.boost.org/LICENSE_1_0.txt
19//
20// See http://www.boost.org/libs/bind/bind.html for documentation.
21//
22
23#include <boost/bind/arg.hpp>
24#include <boost/config.hpp>
25
26namespace boost
27{
28
29namespace placeholders
30{
31
32#if defined(BOOST_BORLANDC) || defined(__GNUC__) && (__GNUC__ < 4)
33
34inline boost::arg<1> _1() { return boost::arg<1>(); }
35inline boost::arg<2> _2() { return boost::arg<2>(); }
36inline boost::arg<3> _3() { return boost::arg<3>(); }
37inline boost::arg<4> _4() { return boost::arg<4>(); }
38inline boost::arg<5> _5() { return boost::arg<5>(); }
39inline boost::arg<6> _6() { return boost::arg<6>(); }
40inline boost::arg<7> _7() { return boost::arg<7>(); }
41inline boost::arg<8> _8() { return boost::arg<8>(); }
42inline boost::arg<9> _9() { return boost::arg<9>(); }
43
44#else
45
46BOOST_STATIC_CONSTEXPR boost::arg<1> _1;
47BOOST_STATIC_CONSTEXPR boost::arg<2> _2;
48BOOST_STATIC_CONSTEXPR boost::arg<3> _3;
49BOOST_STATIC_CONSTEXPR boost::arg<4> _4;
50BOOST_STATIC_CONSTEXPR boost::arg<5> _5;
51BOOST_STATIC_CONSTEXPR boost::arg<6> _6;
52BOOST_STATIC_CONSTEXPR boost::arg<7> _7;
53BOOST_STATIC_CONSTEXPR boost::arg<8> _8;
54BOOST_STATIC_CONSTEXPR boost::arg<9> _9;
55
56#endif
57
58} // namespace placeholders
59
60} // namespace boost
61
62#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED
63

source code of include/boost/bind/placeholders.hpp