File indexing completed on 2025-01-18 09:40:49
0001 #ifndef BOOST_METAPARSE_V1_KEEP_MIDDLE_HPP
0002 #define BOOST_METAPARSE_V1_KEEP_MIDDLE_HPP
0003
0004
0005
0006
0007
0008
0009 #include <boost/metaparse/v1/nth_of.hpp>
0010 #include <boost/metaparse/v1/transform_error_message.hpp>
0011 #include <boost/metaparse/v1/get_col.hpp>
0012 #include <boost/metaparse/v1/get_line.hpp>
0013
0014 #include <boost/metaparse/v1/error/unpaired.hpp>
0015
0016 namespace boost
0017 {
0018 namespace metaparse
0019 {
0020 namespace v1
0021 {
0022 template <class P1, class P2, class P3>
0023 struct middle_of
0024 {
0025 typedef middle_of type;
0026
0027 template <class S, class Pos>
0028 struct apply :
0029 nth_of_c<
0030 1,
0031 P1,
0032 P2,
0033 transform_error_message<
0034 P3,
0035 error::unpaired<
0036 get_line<Pos>::type::value,
0037 get_col<Pos>::type::value
0038 >
0039 >
0040 >::template apply<S, Pos>
0041 {};
0042 };
0043 }
0044 }
0045 }
0046
0047 #endif
0048