epoc32/include/stdapis/boost/preprocessor/seq/first_n.hpp
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
# /* **************************************************************************
williamr@2
     2
#  *                                                                          *
williamr@2
     3
#  *     (C) Copyright Paul Mensonides 2002.
williamr@2
     4
#  *     Distributed under the Boost Software License, Version 1.0. (See
williamr@2
     5
#  *     accompanying file LICENSE_1_0.txt or copy at
williamr@2
     6
#  *     http://www.boost.org/LICENSE_1_0.txt)
williamr@2
     7
#  *                                                                          *
williamr@2
     8
#  ************************************************************************** */
williamr@2
     9
#
williamr@2
    10
# /* See http://www.boost.org for most recent version. */
williamr@2
    11
#
williamr@2
    12
# ifndef BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
williamr@2
    13
# define BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP
williamr@2
    14
#
williamr@2
    15
# include <boost/preprocessor/config/config.hpp>
williamr@2
    16
# include <boost/preprocessor/control/if.hpp>
williamr@2
    17
# include <boost/preprocessor/seq/detail/split.hpp>
williamr@2
    18
# include <boost/preprocessor/tuple/eat.hpp>
williamr@2
    19
# include <boost/preprocessor/tuple/elem.hpp>
williamr@2
    20
#
williamr@2
    21
# /* BOOST_PP_SEQ_FIRST_N */
williamr@2
    22
#
williamr@2
    23
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
williamr@2
    24
#    define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
williamr@2
    25
# else
williamr@2
    26
#    define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_SEQ_FIRST_N_I(n, seq)
williamr@2
    27
#    define BOOST_PP_SEQ_FIRST_N_I(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil)))
williamr@2
    28
# endif
williamr@2
    29
#
williamr@2
    30
# endif