os/ossrv/ossrv_pub/boost_apis/boost/tr1/tuple.hpp
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/tr1/tuple.hpp	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,83 @@
     1.4 +//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
     1.5 +
     1.6 +#ifndef BOOST_TR1_TUPLE_HPP_INCLUDED
     1.7 +#  define BOOST_TR1_TUPLE_HPP_INCLUDED
     1.8 +#  include <boost/tr1/detail/config.hpp>
     1.9 +
    1.10 +#ifdef BOOST_HAS_TR1_TUPLE
    1.11 +
    1.12 +#  include BOOST_TR1_HEADER(tuple)
    1.13 +
    1.14 +#else
    1.15 +
    1.16 +#if defined(BOOST_TR1_USE_OLD_TUPLE)
    1.17 +
    1.18 +#include <boost/tuple/tuple.hpp>
    1.19 +#include <boost/tuple/tuple_comparison.hpp>
    1.20 +#include <boost/type_traits/integral_constant.hpp>
    1.21 +
    1.22 +namespace std{ namespace tr1{
    1.23 +
    1.24 +using ::boost::tuple;
    1.25 +
    1.26 +// [6.1.3.2] Tuple creation functions
    1.27 +using ::boost::tuples::ignore;
    1.28 +using ::boost::make_tuple;
    1.29 +using ::boost::tie;
    1.30 +
    1.31 +// [6.1.3.3] Tuple helper classes
    1.32 +template <class T> 
    1.33 +struct tuple_size 
    1.34 +   : public ::boost::integral_constant
    1.35 +   < ::std::size_t, ::boost::tuples::length<T>::value>
    1.36 +{};
    1.37 +
    1.38 +template < int I, class T>
    1.39 +struct tuple_element
    1.40 +{
    1.41 +   typedef typename boost::tuples::element<I,T>::type type;
    1.42 +};
    1.43 +
    1.44 +#if !BOOST_WORKAROUND(__BORLANDC__, < 0x0582)
    1.45 +// [6.1.3.4] Element access
    1.46 +using ::boost::get;
    1.47 +#endif
    1.48 +
    1.49 +} } // namespaces
    1.50 +
    1.51 +#else
    1.52 +
    1.53 +#include <boost/spirit/fusion/sequence/tuple.hpp>
    1.54 +#include <boost/spirit/fusion/sequence/tuple_element.hpp>
    1.55 +#include <boost/spirit/fusion/sequence/tuple_size.hpp>
    1.56 +#include <boost/spirit/fusion/sequence/make_tuple.hpp>
    1.57 +#include <boost/spirit/fusion/sequence/tie.hpp>
    1.58 +#include <boost/spirit/fusion/sequence/get.hpp>
    1.59 +#include <boost/spirit/fusion/sequence/equal_to.hpp>
    1.60 +#include <boost/spirit/fusion/sequence/not_equal_to.hpp>
    1.61 +#include <boost/spirit/fusion/sequence/less.hpp>
    1.62 +#include <boost/spirit/fusion/sequence/less_equal.hpp>
    1.63 +#include <boost/spirit/fusion/sequence/greater.hpp>
    1.64 +#include <boost/spirit/fusion/sequence/greater_equal.hpp>
    1.65 +
    1.66 +namespace std{ namespace tr1{
    1.67 +
    1.68 +using ::boost::fusion::tuple;
    1.69 +
    1.70 +// [6.1.3.2] Tuple creation functions
    1.71 +using ::boost::fusion::ignore;
    1.72 +using ::boost::fusion::make_tuple;
    1.73 +using ::boost::fusion::tie;
    1.74 +using ::boost::fusion::get;
    1.75 +
    1.76 +// [6.1.3.3] Tuple helper classes
    1.77 +using ::boost::fusion::tuple_size;
    1.78 +using ::boost::fusion::tuple_element;
    1.79 +
    1.80 +}}
    1.81 +
    1.82 +#endif
    1.83 +
    1.84 +#endif
    1.85 +
    1.86 +#endif