]> git.lyx.org Git - lyx.git/blob - boost/boost/mpl/always.hpp
Boost 1.31.0
[lyx.git] / boost / boost / mpl / always.hpp
1 //-----------------------------------------------------------------------------
2 // boost mpl/always.hpp header file
3 // See http://www.boost.org for updates, documentation, and revision history.
4 //-----------------------------------------------------------------------------
5 //
6 // Copyright (c) 2001-02
7 // Aleksey Gurtovoy
8 //
9 // Permission to use, copy, modify, distribute and sell this software
10 // and its documentation for any purpose is hereby granted without fee, 
11 // provided that the above copyright notice appears in all copies and 
12 // that both the copyright notice and this permission notice appear in 
13 // supporting documentation. No representations are made about the 
14 // suitability of this software for any purpose. It is provided "as is" 
15 // without express or implied warranty.
16
17 #ifndef BOOST_MPL_ALWAYS_HPP_INCLUDED
18 #define BOOST_MPL_ALWAYS_HPP_INCLUDED
19
20 #include "boost/mpl/aux_/preprocessor/def_params_tail.hpp"
21 #include "boost/mpl/void.hpp"
22 #include "boost/mpl/aux_/arity_spec.hpp"
23 #include "boost/mpl/aux_/lambda_spec.hpp"
24
25 namespace boost {
26 namespace mpl {
27
28 template< typename Value >
29 struct always
30 {
31     template<
32           typename T
33         BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(1, typename T, void_)
34         >
35     struct apply
36     {
37         typedef Value type;
38     };
39 };
40
41
42 BOOST_MPL_AUX_ARITY_SPEC(1,always)
43 BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1,always)
44
45 } // namespace mpl
46 } // namespace boost
47
48 #endif // BOOST_MPL_ALWAYS_HPP_INCLUDED