Chained
Matcher implementation for headM \ tailM
- Type parameters:
- F
The combined result type
- H
The head result type
- T
The tail result type
- Value parameters:
- headM
The first matcher in the chain
- reduce
The
TypeReduce
rule to combine the head and tail result types- tailM
The next matcher in the chain
Value members
Concrete methods
Inherited methods
Create a new matcher by forming a chain with this matcher at the front, and the next
matcher at the back.
In other words, a matcher for a context within another context.
Create a new matcher by forming a chain with this matcher at the front, and the next
matcher at the back.
In other words, a matcher for a context within another context.
- Type parameters:
- A1
To satisfy covariance on A
- B
The
next
matcher's context type- R
The "reduced" content type, derived from the tuple type
(A, B)
based on thereduce
rule.
- Value parameters:
- next
A matcher which will be used to match the "inner" context
- reduce
The
TypeReduce
rule to help omitUnit
from the resulting context type
- Returns:
A matcher which delegates to
this
matcher first, then thenext
matcher for the remaining stack.- Inherited from:
- ContextMatcher
Create a new ContextMatcher which takes the match result of this matcher and passes it through the
validation function f
. If f
returns false
, the match is unsuccessful.
Create a new ContextMatcher which takes the match result of this matcher and passes it through the
validation function f
. If f
returns false
, the match is unsuccessful.
- Value parameters:
- p
The filter predicate, i.e. the validation function
- Returns:
A new matcher with validated results
- Inherited from:
- ContextMatcher
Create a new ContextMatcher which takes the match result of this matcher and passes it through the
combined transformation/validation function f
. If f
returns None
, the match is unsuccessful;
if f
returns a Some
, the value inside is the result of the match.
Create a new ContextMatcher which takes the match result of this matcher and passes it through the
combined transformation/validation function f
. If f
returns None
, the match is unsuccessful;
if f
returns a Some
, the value inside is the result of the match.
- Type parameters:
- B
The transformed context type
- Value parameters:
- f
The transformation/validation function
- Returns:
A new matcher with transformed and validated results
- Inherited from:
- ContextMatcher
Create a new ContextMatcher which takes the match result of this matcher and passes it through the
transformation function f
.
Create a new ContextMatcher which takes the match result of this matcher and passes it through the
transformation function f
.
- Type parameters:
- B
The transformed context type
- Value parameters:
- f
The transformation function
- Returns:
A new matcher with transformed results
- Inherited from:
- ContextMatcher
Create a new ContextMatcher which will fall back to a second matcher in the event that this matcher fails to match a context.
Create a new ContextMatcher which will fall back to a second matcher in the event that this matcher fails to match a context.
- Type parameters:
- A2
The resulting context type (common supertype between this matcher and
that
)
- Value parameters:
- that
The matcher which will be used as the fallback
- Returns:
A matcher that falls back to another matcher in case of failure
- Inherited from:
- ContextMatcher