AnySuchThat Class ReferenceWildcard expression for user-defined semantics.
More...
#include <AnySuchThat.h>
Inheritance diagram for AnySuchThat:
[legend]List of all members.
Detailed Description
Wildcard expression for user-defined semantics.
Polaris Base - See also:
- Wildcard/AnySuchThat.h
Wildcard/Wildcard.cc
Wildcard/AnySuchThat.h
AnySuchThat is a wildcard expression which matches any expression passing user-defined semantics. The user gives the wildcard's constructor a function of type such_that_func (see Wildcard) plus extra arguments to be passed to the function (see Info). When an attempt is made to made an expression against this wildcard, the user-defined function is called with the expression and with the user-defined extra arguments as parameters. If the user-defined function returns True, the wildcard is considered a match, otherwise not.
For more details, please see Wildcard.
Definition at line 40 of file AnySuchThat.h.
Constructor & Destructor Documentation
| AnySuchThat::AnySuchThat |
( |
such_that_func |
func, |
|
|
const ExtraInfo & |
extra_info, |
|
|
const char * |
printable_condition = 0 |
|
) |
|
|
|
|
Constructor.
'func' is a user-defined function (see DESCRIPTION.) 'extra_info' contains arguments to be passed to 'func' 'printable_condition' is an optional printable representation of the condition function 'func', for example, "expr has no side-effects", or whatever. It's only use is in printing out the wildcard expression.
Referenced by clone(). |
Member Function Documentation
| Expression * AnySuchThat::clone |
( |
|
) |
const [virtual] |
|
| virtual void AnySuchThat::print_debug |
( |
ostream & |
o, |
|
|
Boolean |
debug |
|
) |
const [virtual] |
|
|
|
debug indicates whether it should contain extra fields
Implements Wildcard. |
| int AnySuchThat::structures_OK |
( |
void |
|
) |
const [virtual] |
|
| const ExprSignature & AnySuchThat::update_signature |
( |
|
) |
[virtual] |
|
| int AnySuchThat::node_compare |
( |
const Expression & |
ex |
) |
const [virtual] |
|
Member Data Documentation
The documentation for this class was generated from the following files:
|