ROSE 0.11.145.134
Public Types | Public Member Functions | List of all members
Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::Scheduler Class Referencefinal

Description

Schedules work items for execution.

The scheduler contains a list of work items, sorts them according dependencies and priorities built into the scheduler, and dispatches them to the worker threads.

Thread safety: All methods of this class are thread safe.

Definition at line 618 of file ParallelPartitioner.h.

#include <Rose/BinaryAnalysis/Partitioner2/ParallelPartitioner.h>

Public Types

using Item = std::shared_ptr< WorkItem >
 
using Container = std::vector< Item >
 Type of items stored in this scheduler.
 
using Queue = std::priority_queue< Item, Container, WorkItemSorter >
 

Public Member Functions

void insert (const Item &)
 Insert a new work item into the work list.
 
bool isEmpty () const
 Test whether any work remains to be done.
 
Item next ()
 Returns the next item of work to be performed.
 
void reportStatus (std::ostream &) const
 Output a status report.
 

Member Typedef Documentation

◆ Item

using Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::Scheduler::Item = std::shared_ptr<WorkItem>

Definition at line 620 of file ParallelPartitioner.h.

◆ Container

Type of items stored in this scheduler.

Definition at line 621 of file ParallelPartitioner.h.

◆ Queue

using Rose::BinaryAnalysis::Partitioner2::Experimental::ParallelPartitioner::Scheduler::Queue = std::priority_queue<Item, Container, WorkItemSorter>

Definition at line 622 of file ParallelPartitioner.h.


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