epoc32/include/stdapis/boost/mpl/front.hpp
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 epoc32/include/stdapis/boost/mpl/vector/aux_/front.hpp@2fe1408b6811
child 4 837f303aceeb
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
     1 
     2 #ifndef BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
     3 #define BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED
     4 
     5 // Copyright Aleksey Gurtovoy 2000-2004
     6 //
     7 // Distributed under the Boost Software License, Version 1.0. 
     8 // (See accompanying file LICENSE_1_0.txt or copy at 
     9 // http://www.boost.org/LICENSE_1_0.txt)
    10 //
    11 // See http://www.boost.org/libs/mpl for documentation.
    12 
    13 // $Source: /cvsroot/boost/boost/boost/mpl/vector/aux_/front.hpp,v $
    14 // $Date: 2004/09/02 15:41:19 $
    15 // $Revision: 1.4 $
    16 
    17 #include <boost/mpl/front_fwd.hpp>
    18 #include <boost/mpl/vector/aux_/at.hpp>
    19 #include <boost/mpl/vector/aux_/tag.hpp>
    20 #include <boost/mpl/aux_/nttp_decl.hpp>
    21 #include <boost/mpl/aux_/config/typeof.hpp>
    22 #include <boost/mpl/aux_/config/ctps.hpp>
    23 
    24 namespace boost { namespace mpl {
    25 
    26 #if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES)
    27 
    28 template<>
    29 struct front_impl< aux::vector_tag >
    30 {
    31     template< typename Vector > struct apply
    32         : v_at<Vector,0>
    33     {
    34     };
    35 };
    36 
    37 #else
    38 
    39 #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
    40 
    41 template< BOOST_MPL_AUX_NTTP_DECL(long, n_) >
    42 struct front_impl< aux::vector_tag<n_> >
    43 {
    44     template< typename Vector > struct apply
    45     {
    46         typedef typename Vector::item0 type;
    47     };
    48 };
    49 
    50 #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
    51 
    52 #endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
    53 
    54 }}
    55 
    56 #endif // BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED