ROSE
0.11.102.0
|
Default interesting predicate.
This predicate is used as the default for determining whether paths are added to the "interesting" queue. It returns true if the path's final node references one or more tags.
Definition at line 138 of file PathPredicate.h.
#include <Rose/BinaryAnalysis/ModelChecker/PathPredicate.h>
Public Types | |
using | Ptr = HasFinalTagsPtr |
![]() | |
using | Ptr = PathPredicatePtr |
Shared ownership pointer. More... | |
Public Member Functions | |
virtual std::pair< bool, const char * > | operator() (const SettingsPtr &, const PathPtr &) override |
The predicate. More... | |
![]() | |
virtual void | reset () |
Reset internal data. More... | |
virtual std::pair< bool, const char * > | test (const SettingsPtr &, const PathPtr &) final |
The predicate. More... | |
Static Public Member Functions | |
static Ptr | instance () |
Allocating constructor. More... | |
|
static |
Allocating constructor.
|
overridevirtual |
The predicate.
Tests the path for some condition and returns true or false and an optional reason which is a short C-style string containing only horizontal, printable characters without leading or trailing white space. The string must not be null, but may be empty.
For convenience, the predicate can be applied using either the function operator or the test method, although it's the operator that gets overloaded in the subclasses.
Thread safety: All implementations must be thread safe.
Implements Rose::BinaryAnalysis::ModelChecker::PathPredicate.