Public Types | Public Member Functions | Static Public Member Functions | List of all members
Rose::BinaryAnalysis::ModelChecker::HasFinalTags Class Reference


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>

Inheritance diagram for Rose::BinaryAnalysis::ModelChecker::HasFinalTags:
Inheritance graph
Collaboration diagram for Rose::BinaryAnalysis::ModelChecker::HasFinalTags:
Collaboration graph

Public Types

using Ptr = HasFinalTagsPtr
- Public Types inherited from Rose::BinaryAnalysis::ModelChecker::PathPredicate
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...
- Public Member Functions inherited from Rose::BinaryAnalysis::ModelChecker::PathPredicate
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...

Member Function Documentation

static Ptr Rose::BinaryAnalysis::ModelChecker::HasFinalTags::instance ( )

Allocating constructor.

virtual std::pair<bool, const char*> Rose::BinaryAnalysis::ModelChecker::HasFinalTags::operator() ( const SettingsPtr &  ,
const PathPtr &   

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.

The documentation for this class was generated from the following file: