Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:40:48

0001 #ifndef BOOST_METAPARSE_V1_CPP98_IMPL_PUSH_FRONT_C_HPP
0002 #define BOOST_METAPARSE_V1_CPP98_IMPL_PUSH_FRONT_C_HPP
0003 
0004 // Copyright Abel Sinkovics (abel@sinkovics.hu)  2013.
0005 // Distributed under the Boost Software License, Version 1.0.
0006 //    (See accompanying file LICENSE_1_0.txt or copy at
0007 //          http://www.boost.org/LICENSE_1_0.txt)
0008 
0009 #include <boost/metaparse/v1/cpp98/fwd/string.hpp>
0010 
0011 #include <boost/preprocessor/arithmetic/dec.hpp>
0012 #include <boost/preprocessor/repetition/enum_params.hpp>
0013 
0014 namespace boost
0015 {
0016   namespace metaparse
0017   {
0018     namespace v1
0019     {
0020       namespace impl
0021       {
0022         template <class S, char C>
0023         struct push_front_c;
0024 
0025         template <
0026           BOOST_PP_ENUM_PARAMS(BOOST_METAPARSE_LIMIT_STRING_SIZE, int C),
0027           char Ch
0028         >
0029         struct push_front_c<
0030           string<BOOST_PP_ENUM_PARAMS(BOOST_METAPARSE_LIMIT_STRING_SIZE, C)>,
0031           Ch
0032         > :
0033           string<
0034             Ch,
0035             BOOST_PP_ENUM_PARAMS(
0036               BOOST_PP_DEC(BOOST_METAPARSE_LIMIT_STRING_SIZE),
0037               C
0038             )
0039           >
0040         {};
0041       }
0042     }
0043   }
0044 }
0045 
0046 #endif
0047