static bool const is_pass_through_unary = true;
static bool const handles_container = Subject::handles_container;
- reskip_directive(Subject const& subject)
+ constexpr reskip_directive(Subject const& subject)
: base_type(subject) {}
template <typename Iterator, typename Context
static bool const is_pass_through_unary = true;
static bool const handles_container = Subject::handles_container;
- skip_directive(Subject const& subject, Skipper const& skipper)
+ constexpr skip_directive(Subject const& subject, Skipper const& skipper)
: base_type(subject)
, skipper(skipper)
{}
template <typename Skipper>
struct skip_gen
{
- skip_gen(Skipper const& skipper)
+ constexpr skip_gen(Skipper const& skipper)
: skipper_(skipper) {}
template <typename Subject>
- skip_directive<typename extension::as_parser<Subject>::value_type, Skipper>
+ constexpr skip_directive<typename extension::as_parser<Subject>::value_type, Skipper>
operator[](Subject const& subject) const
{
return { as_parser(subject), skipper_ };
};
template <typename Skipper>
- skip_gen<Skipper> const operator()(Skipper const& skipper) const
+ constexpr skip_gen<Skipper> const operator()(Skipper const& skipper) const
{
return { skipper };
}
template <typename Subject>
- reskip_directive<typename extension::as_parser<Subject>::value_type>
+ constexpr reskip_directive<typename extension::as_parser<Subject>::value_type>
operator[](Subject const& subject) const
{
return { as_parser(subject) };
}
};
- auto const skip = reskip_gen{};
+ constexpr auto skip = reskip_gen{};
}}}
#endif