]> AND Private Git Repository - canny.git/blob - stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/arg.hpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
c08291a3664f4d4505b03a52da156a62a339a975
[canny.git] / stc / exp / ml_stc_linux_make_v1.0 / include / boost / bind / arg.hpp
1 #ifndef BOOST_BIND_ARG_HPP_INCLUDED\r
2 #define BOOST_BIND_ARG_HPP_INCLUDED\r
3 \r
4 // MS compatible compilers support #pragma once\r
5 \r
6 #if defined(_MSC_VER) && (_MSC_VER >= 1020)\r
7 # pragma once\r
8 #endif\r
9 \r
10 //\r
11 //  bind/arg.hpp\r
12 //\r
13 //  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.\r
14 //\r
15 // Distributed under the Boost Software License, Version 1.0. (See\r
16 // accompanying file LICENSE_1_0.txt or copy at\r
17 // http://www.boost.org/LICENSE_1_0.txt)\r
18 //\r
19 //  See http://www.boost.org/libs/bind/bind.html for documentation.\r
20 //\r
21 \r
22 #include <boost/config.hpp>\r
23 #include <boost/is_placeholder.hpp>\r
24 \r
25 namespace boost\r
26 {\r
27 \r
28 template< int I > struct arg\r
29 {\r
30     arg()\r
31     {\r
32     }\r
33 \r
34     template< class T > arg( T const & /* t */ )\r
35     {\r
36         // static assert I == is_placeholder<T>::value\r
37         typedef char T_must_be_placeholder[ I == is_placeholder<T>::value? 1: -1 ];\r
38     }\r
39 };\r
40 \r
41 template< int I > bool operator==( arg<I> const &, arg<I> const & )\r
42 {\r
43     return true;\r
44 }\r
45 \r
46 #if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )\r
47 \r
48 template< int I > struct is_placeholder< arg<I> >\r
49 {\r
50     enum _vt { value = I };\r
51 };\r
52 \r
53 template< int I > struct is_placeholder< arg<I> (*) () >\r
54 {\r
55     enum _vt { value = I };\r
56 };\r
57 \r
58 #endif\r
59 \r
60 } // namespace boost\r
61 \r
62 #endif // #ifndef BOOST_BIND_ARG_HPP_INCLUDED\r