#ifndef BOOST_METAPARSE_V1_IMPL_SEQUENCE_HPP #define BOOST_METAPARSE_V1_IMPL_SEQUENCE_HPP // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #include #include #include #include #include #include namespace boost { namespace metaparse { namespace v1 { namespace impl { #ifdef BOOST_METAPARSE_SEQUENCE_CASE # error BOOST_METAPARSE_SEQUENCE_CASE already defined #endif #define BOOST_METAPARSE_SEQUENCE_CASE(z, n, unused) \ template \ struct BOOST_PP_CAT(sequence, n) \ { \ typedef BOOST_PP_CAT(sequence, n) type; \ \ template \ struct apply : \ sequence_impl< \ boost::mpl::vector, \ S, \ Pos \ > \ {}; \ }; BOOST_PP_REPEAT_FROM_TO( 1, BOOST_METAPARSE_LIMIT_SEQUENCE_SIZE, BOOST_METAPARSE_SEQUENCE_CASE, ~ ) #undef BOOST_METAPARSE_SEQUENCE_CASE } } } } #endif