#ifndef CHILON_PARSER_SKIP_HPP
#define CHILON_PARSER_SKIP_HPP
#include <chilon/parser/parse.hpp>
#include <chilon/meta/remove_template.hpp>
namespace chilon { namespace parser {
template <class P, class SkippedType = parse<P>>
struct skip_ {
typedef void store_type;
typedef SkippedType skipped_type;
template <class Stream>
inline static bool skip(Stream& stream) {
return meta::remove_template<parse, P>::type::skip(stream);
}
template <class Stream, class O>
inline static bool skip(Stream& stream, O const&) {
return skip(stream);
}
};
template <class T1, class T2>
struct parse<skip_<T1, T2>> : skip_<T1, T2> {};
} }
#endif