123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef BOOST_METAPARSE_V1_KEEP_MIDDLE_HPP
- #define BOOST_METAPARSE_V1_KEEP_MIDDLE_HPP
- // Copyright Abel Sinkovics (abel@sinkovics.hu) 2009 - 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/v1/nth_of.hpp>
- #include <boost/metaparse/v1/transform_error_message.hpp>
- #include <boost/metaparse/v1/get_col.hpp>
- #include <boost/metaparse/v1/get_line.hpp>
- #include <boost/metaparse/v1/error/unpaired.hpp>
- namespace boost
- {
- namespace metaparse
- {
- namespace v1
- {
- template <class P1, class P2, class P3>
- struct middle_of
- {
- typedef middle_of type;
- template <class S, class Pos>
- struct apply :
- nth_of_c<
- 1,
- P1,
- P2,
- transform_error_message<
- P3,
- error::unpaired<
- get_line<Pos>::type::value,
- get_col<Pos>::type::value
- >
- >
- >::template apply<S, Pos>
- {};
- };
- }
- }
- }
- #endif
|