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

Description

Prioritize paths by how long they take.

Gives priority to paths that are faster to evaluate.

Definition at line 67 of file PathPrioritizer.h.

#include <Rose/BinaryAnalysis/ModelChecker/PathPrioritizer.h>

Inheritance diagram for Rose::BinaryAnalysis::ModelChecker::FastestPathFirst:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::ModelChecker::FastestPathFirst:
Collaboration graph
[legend]

Public Types

using Ptr = FastestPathFirstPtr
 
- Public Types inherited from Rose::BinaryAnalysis::ModelChecker::PathPrioritizer
using Ptr = PathPrioritizerPtr
 

Public Member Functions

bool operator() (const PathPtr &worse, const PathPtr &better) const override
 Priority predicate. More...
 

Static Public Member Functions

static Ptr instance ()
 

Member Function Documentation

bool Rose::BinaryAnalysis::ModelChecker::FastestPathFirst::operator() ( const PathPtr &  worse,
const PathPtr &  better 
) const
overridevirtual

Priority predicate.

Given two paths, return true if path better should be explored before path worse, and false otherwise. This must be a strict weak ordering.

Note that the ordering predicate for C++ heaps is opposite the predicate for sorting containers with operator<. In other words, the item with the highest priority (not the lowest) is the one that will be taken next from the heap.

Thread safety: This method is thread safe. The base implementation is thread safe and all subclass implementations must also be thread safe.

Reimplemented from Rose::BinaryAnalysis::ModelChecker::PathPrioritizer.


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