template<typename... Patterns>
struct Fortran::evaluate::match::AnyOfPattern< Patterns >
Matches one of the patterns provided as template arguments. Upon creation of an AnyOfPattern object with some arguments, say args, each of the pattern objects will be created using args as arguments to the constructor. This means that each of the patterns should be constructible from args, in particular all patterns should take the same number of inputs. So, for example, AnyOfPattern<SomeBinaryOp, OtherBinaryOp> is ok, whereas AnyOfPattern<SomeBinaryOp, SomeTernaryOp> is not.