1 #ifndef BOOST_METAPARSE_V1_CPP98_REPEATED_ONE_OF1_HPP 2 #define BOOST_METAPARSE_V1_CPP98_REPEATED_ONE_OF1_HPP 3 4 // Copyright Abel Sinkovics (abel@sinkovics.hu) 2010. 5 // Distributed under the Boost Software License, Version 1.0. 6 // (See accompanying file LICENSE_1_0.txt or copy at 7 // http://www.boost.org/LICENSE_1_0.txt) 8 9 #include <boost/metaparse/limit_one_of_size.hpp> 10 #include <boost/metaparse/v1/cpp98/impl/one_of.hpp> 11 #include <boost/metaparse/v1/repeated1.hpp> 12 13 #include <boost/mpl/vector.hpp> 14 15 #include <boost/preprocessor/repetition/enum_params.hpp> 16 #include <boost/preprocessor/repetition/enum_params_with_a_default.hpp> 17 18 namespace boost 19 { 20 namespace metaparse 21 { 22 namespace v1 23 { 24 template < 25 BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( 26 BOOST_METAPARSE_LIMIT_ONE_OF_SIZE, 27 class P, 28 boost::mpl::na 29 ) 30 > 31 struct repeated_one_of1 : 32 repeated1< 33 impl::one_of< 34 boost::mpl::vector< 35 BOOST_PP_ENUM_PARAMS(BOOST_METAPARSE_LIMIT_ONE_OF_SIZE, P) 36 > 37 > 38 > 39 {}; 40 } 41 } 42 } 43 44 #endif 45 46