1.1 --- a/epoc32/include/stdapis/boost/preprocessor/tuple.hpp Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/stdapis/boost/preprocessor/tuple.hpp Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,90 +1,24 @@
1.4 -// tuple.hpp - Boost Tuple Library --------------------------------------
1.5 -
1.6 -// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi)
1.7 -//
1.8 -// Distributed under the Boost Software License, Version 1.0. (See
1.9 -// accompanying file LICENSE_1_0.txt or copy at
1.10 -// http://www.boost.org/LICENSE_1_0.txt)
1.11 -
1.12 -// For more information, see http://www.boost.org
1.13 -
1.14 -// -----------------------------------------------------------------
1.15 -
1.16 -#ifndef BOOST_TUPLE_HPP
1.17 -#define BOOST_TUPLE_HPP
1.18 -
1.19 -#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730
1.20 -// Work around a compiler bug.
1.21 -// boost::python::tuple has to be seen by the compiler before the
1.22 -// boost::tuple class template.
1.23 -namespace boost { namespace python { class tuple; }}
1.24 -#endif
1.25 -
1.26 -#include "boost/config.hpp"
1.27 -#include "boost/static_assert.hpp"
1.28 -
1.29 -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
1.30 -// The MSVC version
1.31 -#include "boost/tuple/detail/tuple_basic_no_partial_spec.hpp"
1.32 -
1.33 -#else
1.34 -// other compilers
1.35 -#include "boost/ref.hpp"
1.36 -#include "boost/tuple/detail/tuple_basic.hpp"
1.37 -
1.38 -#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
1.39 -
1.40 -namespace boost {
1.41 -
1.42 -using tuples::tuple;
1.43 -using tuples::make_tuple;
1.44 -using tuples::tie;
1.45 -#if !defined(BOOST_NO_USING_TEMPLATE)
1.46 -using tuples::get;
1.47 -#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
1.48 -//
1.49 -// The "using tuples::get" statement causes the
1.50 -// Borland compiler to ICE, use forwarding
1.51 -// functions instead:
1.52 -//
1.53 -template<int N, class HT, class TT>
1.54 -inline typename tuples::access_traits<
1.55 - typename tuples::element<N, tuples::cons<HT, TT> >::type
1.56 - >::non_const_type
1.57 -get(tuples::cons<HT, TT>& c) {
1.58 - return tuples::get<N,HT,TT>(c);
1.59 -}
1.60 -// get function for const cons-lists, returns a const reference to
1.61 -// the element. If the element is a reference, returns the reference
1.62 -// as such (that is, can return a non-const reference)
1.63 -template<int N, class HT, class TT>
1.64 -inline typename tuples::access_traits<
1.65 - typename tuples::element<N, tuples::cons<HT, TT> >::type
1.66 - >::const_type
1.67 -get(const tuples::cons<HT, TT>& c) {
1.68 - return tuples::get<N,HT,TT>(c);
1.69 -}
1.70 -#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
1.71 -//
1.72 -// MSVC, using declarations don't mix with templates well,
1.73 -// so use forwarding functions instead:
1.74 -//
1.75 -template<int N, typename Head, typename Tail>
1.76 -typename tuples::detail::element_ref<N, tuples::cons<Head, Tail> >::RET
1.77 -get(tuples::cons<Head, Tail>& t, tuples::detail::workaround_holder<N>* = 0)
1.78 -{
1.79 - return tuples::detail::get_class<N>::get(t);
1.80 -}
1.81 -
1.82 -template<int N, typename Head, typename Tail>
1.83 -typename tuples::detail::element_const_ref<N, tuples::cons<Head, Tail> >::RET
1.84 -get(const tuples::cons<Head, Tail>& t, tuples::detail::workaround_holder<N>* = 0)
1.85 -{
1.86 - return tuples::detail::get_class<N>::get(t);
1.87 -}
1.88 -#endif // BOOST_NO_USING_TEMPLATE
1.89 -
1.90 -} // end namespace boost
1.91 -
1.92 -
1.93 -#endif // BOOST_TUPLE_HPP
1.94 +# /* Copyright (C) 2001
1.95 +# * Housemarque Oy
1.96 +# * http://www.housemarque.com
1.97 +# *
1.98 +# * Distributed under the Boost Software License, Version 1.0. (See
1.99 +# * accompanying file LICENSE_1_0.txt or copy at
1.100 +# * http://www.boost.org/LICENSE_1_0.txt)
1.101 +# */
1.102 +#
1.103 +# /* Revised by Paul Mensonides (2002) */
1.104 +#
1.105 +# /* See http://www.boost.org for most recent version. */
1.106 +#
1.107 +# ifndef BOOST_PREPROCESSOR_TUPLE_HPP
1.108 +# define BOOST_PREPROCESSOR_TUPLE_HPP
1.109 +#
1.110 +# include <boost/preprocessor/tuple/eat.hpp>
1.111 +# include <boost/preprocessor/tuple/elem.hpp>
1.112 +# include <boost/preprocessor/tuple/rem.hpp>
1.113 +# include <boost/preprocessor/tuple/reverse.hpp>
1.114 +# include <boost/preprocessor/tuple/to_list.hpp>
1.115 +# include <boost/preprocessor/tuple/to_seq.hpp>
1.116 +#
1.117 +# endif