/usr/include/boost/metaparse/v1
Edit: /usr/include/boost/metaparse/v1/foldr_start_with_parser.hpp (2204B)
#ifndef BOOST_METAPARSE_V1_FOLDR_START_WITH_PARSER_HPP
#define BOOST_METAPARSE_V1_FOLDR_START_WITH_PARSER_HPP
// Copyright Abel Sinkovics (abel@sinkovics.hu) 2012.
// 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
namespace boost
{
namespace metaparse
{
namespace v1
{
template
struct foldr_start_with_parser
{
private:
template
struct apply_unchecked1 :
accept<
typename BackwardOp::template apply<
typename get_result::type,
typename get_result::type
>::type,
typename get_remaining::type,
typename get_position::type
>
{};
template
struct apply_unchecked;
public:
typedef foldr_start_with_parser type;
template
struct apply :
boost::mpl::eval_if<
typename is_error >::type,
typename StateP::template apply,
apply_unchecked >
>
{};
private:
template
struct apply_unchecked
{
private:
typedef
typename foldr_start_with_parser::template apply<
typename get_remaining::type,
typename get_position::type
>
parsed_remaining;
public:
typedef
typename boost::mpl::eval_if<
typename is_error::type,
parsed_remaining,
apply_unchecked1
>::type
type;
};
};
}
}
}
#endif