MyraMath
Classes | Public Member Functions | Friends | List of all members
myra::ParallelJobGraph Class Reference

Contains multiple JobGraph's, can execute() them all in parallel. More...

#include <ParallelJobGraph.h>

Inheritance diagram for myra::ParallelJobGraph:
[legend]
Collaboration diagram for myra::ParallelJobGraph:
[legend]

Public Member Functions

 ParallelJobGraph ()
 Default constructs an empty ParallelJobGraph.
 
int insert (const JobGraph &g)
 Adds a JobGraph to *this, to be execute()'d in parallel with all the others.
 
const JobGraphat (int g) const
 Accesses a contained JobGraph.
 
virtual uint64_t n_work () const
 Total "work" over all Job's of this JobGraph.
 
virtual std::string name () const
 Returns a printable name for this JobGraph, for debugging.
 
virtual void begins (JobIDs &output) const
 Enumerates the JobIDs of Job's that have no parents (where execution begins)
 
virtual void ends (JobIDs &output) const
 Enumerates the JobIDs of Job's that have no children (where execution ends)
 
virtual ::myra::Jobcreate (JobID j)
 Constructs the Job corresponding to the given JobID.
 
virtual std::vector< Job * > create ()
 Constructs all Job's in an implementation-defined order.
 
uint64_t size () const
 Returns maximum JobID.
 
virtual ::myra::JobGraphBaseclone () const
 Virtual copy constructor.
 
virtual ~ParallelJobGraph ()
 Frees internal resources.
 
- Public Member Functions inherited from myra::JobGraphBase
virtual ~JobGraphBase ()
 Virtual destructor, so subtypes can release resources.
 

Friends

class ParallelJob
 

Detailed Description

Contains multiple JobGraph's, can execute() them all in parallel.


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