Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/variant/detail/substitute_fwd.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children | c530137014c0 |
comparison
equal
deleted
inserted
replaced
15:663ca0da4350 | 16:2665513ce2d3 |
---|---|
1 //----------------------------------------------------------------------------- | |
2 // boost variant/detail/substitute_fwd.hpp header file | |
3 // See http://www.boost.org for updates, documentation, and revision history. | |
4 //----------------------------------------------------------------------------- | |
5 // | |
6 // Copyright (c) 2003 | |
7 // Eric Friedman | |
8 // | |
9 // Distributed under the Boost Software License, Version 1.0. (See | |
10 // accompanying file LICENSE_1_0.txt or copy at | |
11 // http://www.boost.org/LICENSE_1_0.txt) | |
12 | |
13 #ifndef BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP | |
14 #define BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP | |
15 | |
16 #include "boost/mpl/aux_/lambda_arity_param.hpp" | |
17 #include "boost/mpl/aux_/template_arity.hpp" | |
18 #include "boost/mpl/int_fwd.hpp" | |
19 | |
20 | |
21 /////////////////////////////////////////////////////////////////////////////// | |
22 // BOOST_VARIANT_DETAIL_NO_SUBSTITUTE | |
23 // | |
24 // Defined if 'substitute' is not implementable on the current compiler. | |
25 // | |
26 | |
27 #include "boost/mpl/aux_/config/ctps.hpp" | |
28 #include "boost/mpl/aux_/config/ttp.hpp" | |
29 | |
30 #if defined(BOOST_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ | |
31 || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ | |
32 && !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE) | |
33 # define BOOST_VARIANT_DETAIL_NO_SUBSTITUTE | |
34 #endif | |
35 | |
36 namespace boost { | |
37 namespace detail { namespace variant { | |
38 | |
39 #if !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE) | |
40 | |
41 /////////////////////////////////////////////////////////////////////////////// | |
42 // metafunction substitute | |
43 // | |
44 // Substitutes one type for another in the given type expression. | |
45 // | |
46 template < | |
47 typename T, typename Dest, typename Source | |
48 BOOST_MPL_AUX_LAMBDA_ARITY_PARAM( | |
49 typename Arity = mpl::int_< mpl::aux::template_arity<T>::value > | |
50 ) | |
51 > | |
52 struct substitute; | |
53 | |
54 #endif // !defined(BOOST_VARIANT_DETAIL_NO_SUBSTITUTE) | |
55 | |
56 }} // namespace detail::variant | |
57 } // namespace boost | |
58 | |
59 #endif // BOOST_VARIANT_DETAIL_SUBSTITUTE_FWD_HPP |