#ifndef BOOST_METAPARSE_V1_SOURCE_POSITION_TAG_HPP #define BOOST_METAPARSE_V1_SOURCE_POSITION_TAG_HPP // Copyright Abel Sinkovics (abel@sinkovics.hu) 2013. // 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 #include #include #include #include #include #include namespace boost { namespace metaparse { namespace v1 { struct source_position_tag { typedef source_position_tag type; }; template <> struct get_col_impl { template struct apply : P::col {}; }; template <> struct get_line_impl { template struct apply : P::line {}; }; template <> struct get_prev_char_impl { template struct apply : P::prev_char {}; }; template <> struct next_char_impl { template struct apply : source_position< typename get_line

::type, boost::mpl::int_::type::value + 1>, Ch > {}; }; template <> struct next_line_impl { template struct apply : source_position< boost::mpl::int_::type::value + 1>, boost::mpl::int_<1>, Ch > {}; }; } } } #endif