Back to home page

EIC code displayed by LXR

 
 

    


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 // Copyright Abel Sinkovics (abel@sinkovics.hu)  2009 - 2010.
0005 // Distributed under the Boost Software License, Version 1.0.
0006 //    (See accompanying file LICENSE_1_0.txt or copy at
0007 //          http://www.boost.org/LICENSE_1_0.txt)
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