| 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
 |