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

Description

Prioritize paths randomly.

This uses the randomly-generated node ID to sort paths.

Definition at line 79 of file PathPrioritizer.h.

#include <PathPrioritizer.h>

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

Public Types

using Ptr = RandomPathFirstPtr
 
- 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::RandomPathFirst::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: