epoc32/include/stdapis/boost/preprocessor/tuple.hpp
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     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