diff options
Diffstat (limited to 'boost/metaparse/v1/repeated_one_of.hpp')
-rw-r--r-- | boost/metaparse/v1/repeated_one_of.hpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/boost/metaparse/v1/repeated_one_of.hpp b/boost/metaparse/v1/repeated_one_of.hpp new file mode 100644 index 0000000000..3296030b62 --- /dev/null +++ b/boost/metaparse/v1/repeated_one_of.hpp @@ -0,0 +1,45 @@ +#ifndef BOOST_METAPARSE_V1_REPEATED_ONE_OF_HPP +#define BOOST_METAPARSE_V1_REPEATED_ONE_OF_HPP + +// Copyright Abel Sinkovics (abel@sinkovics.hu) 2010. +// 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 <boost/metaparse/limit_one_of_size.hpp> +#include <boost/metaparse/v1/impl/one_of.hpp> +#include <boost/metaparse/v1/repeated.hpp> + +#include <boost/mpl/vector.hpp> + +#include <boost/preprocessor/repetition/enum_params.hpp> +#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp> + +namespace boost +{ + namespace metaparse + { + namespace v1 + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + BOOST_METAPARSE_LIMIT_ONE_OF_SIZE, + class P, + boost::mpl::na + ) + > + struct repeated_one_of : + repeated< + impl::one_of< + boost::mpl::vector< + BOOST_PP_ENUM_PARAMS(BOOST_METAPARSE_LIMIT_ONE_OF_SIZE, P) + > + > + > + {}; + } + } +} + +#endif + |