Lines Matching refs:PB
253 template <typename PA, typename PB> class SequenceParser {
255 using resultType = typename PB::resultType;
257 constexpr SequenceParser(PA pa, PB pb) : pa_{pa}, pb2_{pb} {} in SequenceParser()
268 const PB pb2_;
271 template <typename PA, typename PB>
272 inline constexpr auto operator>>(PA pa, PB pb) {
273 return SequenceParser<PA, PB>{pa, pb};
276 template <typename PA, typename PB> class FollowParser {
280 constexpr FollowParser(PA pa, PB pb) : pa_{pa}, pb_{pb} {} in FollowParser()
292 const PB pb_;
295 template <typename PA, typename PB>
296 inline constexpr auto operator/(PA pa, PB pb) {
297 return FollowParser<PA, PB>{pa, pb};
340 template <typename PA, typename PB>
341 inline constexpr auto operator||(PA pa, PB pb) {
342 return AlternativesParser<PA, PB>{pa, pb};
349 template <typename PA, typename PB> class RecoveryParser {
352 static_assert(std::is_same_v<resultType, typename PB::resultType>);
354 constexpr RecoveryParser(PA pa, PB pb) : pa_{pa}, pb3_{pb} {} in RecoveryParser()
401 const PB pb3_;
404 template <typename PA, typename PB>
405 inline constexpr auto recovery(PA pa, PB pb) { in recovery()
406 return RecoveryParser<PA, PB>{pa, pb}; in recovery()
781 template <typename PA, typename PB> class NonemptySeparated {
788 constexpr NonemptySeparated(PA p, PB sep) : parser_{p}, separator_{sep} {} in NonemptySeparated()
797 const PB separator_;
800 template <typename PA, typename PB>
801 inline constexpr auto nonemptySeparated(PA p, PB sep) { in nonemptySeparated()
802 return NonemptySeparated<PA, PB>{p, sep}; in nonemptySeparated()
819 template <typename PA, typename PB>
820 inline constexpr auto localRecovery(MessageFixedText msg, PA pa, PB pb) { in localRecovery()