Update contrib.
1 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
3 #ifndef BOOST_TR1_TUPLE_HPP_INCLUDED
4 # define BOOST_TR1_TUPLE_HPP_INCLUDED
5 # include <boost/tr1/detail/config.hpp>
7 #ifdef BOOST_HAS_TR1_TUPLE
9 # include BOOST_TR1_HEADER(tuple)
13 #if defined(BOOST_TR1_USE_OLD_TUPLE)
15 #include <boost/tuple/tuple.hpp>
16 #include <boost/tuple/tuple_comparison.hpp>
17 #include <boost/type_traits/integral_constant.hpp>
19 namespace std{ namespace tr1{
23 // [6.1.3.2] Tuple creation functions
24 using ::boost::tuples::ignore;
25 using ::boost::make_tuple;
28 // [6.1.3.3] Tuple helper classes
31 : public ::boost::integral_constant
32 < ::std::size_t, ::boost::tuples::length<T>::value>
35 template < int I, class T>
38 typedef typename boost::tuples::element<I,T>::type type;
41 #if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
42 // [6.1.3.4] Element access
50 #include <boost/spirit/fusion/sequence/tuple.hpp>
51 #include <boost/spirit/fusion/sequence/tuple_element.hpp>
52 #include <boost/spirit/fusion/sequence/tuple_size.hpp>
53 #include <boost/spirit/fusion/sequence/make_tuple.hpp>
54 #include <boost/spirit/fusion/sequence/tie.hpp>
55 #include <boost/spirit/fusion/sequence/get.hpp>
56 #include <boost/spirit/fusion/sequence/equal_to.hpp>
57 #include <boost/spirit/fusion/sequence/not_equal_to.hpp>
58 #include <boost/spirit/fusion/sequence/less.hpp>
59 #include <boost/spirit/fusion/sequence/less_equal.hpp>
60 #include <boost/spirit/fusion/sequence/greater.hpp>
61 #include <boost/spirit/fusion/sequence/greater_equal.hpp>
63 namespace std{ namespace tr1{
65 using ::boost::fusion::tuple;
67 // [6.1.3.2] Tuple creation functions
68 using ::boost::fusion::ignore;
69 using ::boost::fusion::make_tuple;
70 using ::boost::fusion::tie;
71 using ::boost::fusion::get;
73 // [6.1.3.3] Tuple helper classes
74 using ::boost::fusion::tuple_size;
75 using ::boost::fusion::tuple_element;