sl@0: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) sl@0: sl@0: #ifndef BOOST_TR1_TUPLE_HPP_INCLUDED sl@0: # define BOOST_TR1_TUPLE_HPP_INCLUDED sl@0: # include sl@0: sl@0: #ifdef BOOST_HAS_TR1_TUPLE sl@0: sl@0: # include BOOST_TR1_HEADER(tuple) sl@0: sl@0: #else sl@0: sl@0: #if defined(BOOST_TR1_USE_OLD_TUPLE) sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: namespace std{ namespace tr1{ sl@0: sl@0: using ::boost::tuple; sl@0: sl@0: // [6.1.3.2] Tuple creation functions sl@0: using ::boost::tuples::ignore; sl@0: using ::boost::make_tuple; sl@0: using ::boost::tie; sl@0: sl@0: // [6.1.3.3] Tuple helper classes sl@0: template sl@0: struct tuple_size sl@0: : public ::boost::integral_constant sl@0: < ::std::size_t, ::boost::tuples::length::value> sl@0: {}; sl@0: sl@0: template < int I, class T> sl@0: struct tuple_element sl@0: { sl@0: typedef typename boost::tuples::element::type type; sl@0: }; sl@0: sl@0: #if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582) sl@0: // [6.1.3.4] Element access sl@0: using ::boost::get; sl@0: #endif sl@0: sl@0: } } // namespaces sl@0: sl@0: #else sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: namespace std{ namespace tr1{ sl@0: sl@0: using ::boost::fusion::tuple; sl@0: sl@0: // [6.1.3.2] Tuple creation functions sl@0: using ::boost::fusion::ignore; sl@0: using ::boost::fusion::make_tuple; sl@0: using ::boost::fusion::tie; sl@0: using ::boost::fusion::get; sl@0: sl@0: // [6.1.3.3] Tuple helper classes sl@0: using ::boost::fusion::tuple_size; sl@0: using ::boost::fusion::tuple_element; sl@0: sl@0: }} sl@0: sl@0: #endif sl@0: sl@0: #endif sl@0: sl@0: #endif