FLANG
|
#include <flang/Evaluate/match.h>
Public Types | |
using | Indexes = std::index_sequence_for< Patterns... > |
using | MatchTypes = std::tuple< typename Patterns::MatchType... > |
Public Member Functions | |
template<typename... Ops> | |
AnyOfPattern (const Ops &...ops) | |
template<typename U > | |
bool | match (const U &input) const |
Public Attributes | |
std::variant< const Patterns *..., std::monostate > | ref |
Matches one of the patterns provided as template arguments. All of these patterns should have the same number of operands, i.e. they all should try to match input expression with the same number of children, i.e. AnyOfPattern<SomeBinaryOp, OtherBinaryOp> is ok, whereas AnyOfPattern<SomeBinaryOp, SomeTernaryOp> is not.
|
mutable |