fpmas 1.6
Public Member Functions | List of all members
fpmas::scheduler::Epoch Class Reference

#include <scheduler.h>

Inheritance diagram for fpmas::scheduler::Epoch:
Inheritance graph
[legend]
Collaboration diagram for fpmas::scheduler::Epoch:
Collaboration graph
[legend]

Public Member Functions

void submit (const api::scheduler::Job &, api::scheduler::SubTimeStep sub_time_step) override
 
void submit (api::scheduler::JobList job_list, api::scheduler::SubTimeStep sub_time_step) override
 
const std::vector< const api::scheduler::Job * > & jobs () const override
 
JobIterator begin () const override
 
JobIterator end () const override
 
size_t jobCount () override
 
void clear () override
 
virtual void submit (const Job &job, SubTimeStep sub_time_step)=0
 
virtual void submit (JobList job_list, SubTimeStep sub_time_step)=0
 
virtual const std::vector< const Job * > & jobs () const =0
 
virtual JobIterator begin () const =0
 
virtual JobIterator end () const =0
 
virtual size_t jobCount ()=0
 
virtual void clear ()=0
 

Additional Inherited Members

- Public Types inherited from fpmas::api::scheduler::Epoch
typedef std::vector< constJob * >::const_iterator JobIterator
 

Detailed Description

api::scheduler::Epoch implementation.

Member Function Documentation

◆ submit() [1/2]

void fpmas::scheduler::Epoch::submit ( const api::scheduler::Job job,
api::scheduler::SubTimeStep  sub_time_step 
)
overridevirtual

Submits a new job to this Epoch.

Jobs within the Epoch are ordered according to the specified sub_time_step. The result of jobs() and the begin() / end() iterators are consistent with this order. If several jobs are submitted with equal sub_time_steps, their relative ordering corresponds to the order they are submitted. However it is risky to rely on this, since float comparison can be approximate.

Parameters
jobjob to submit
sub_time_stepvalue used to order jobs within the Epoch

Implements fpmas::api::scheduler::Epoch.

◆ submit() [2/2]

void fpmas::scheduler::Epoch::submit ( api::scheduler::JobList  job_list,
api::scheduler::SubTimeStep  sub_time_step 
)
overridevirtual

Submits a list of job to be executed sequentially in this Epoch.

Jobs within the Epoch are ordered according to the specified sub_time_step. The result of jobs() and the begin() / end() iterators are consistent with this order. If several jobs are submitted with equal sub_time_steps, their relative ordering corresponds to the order they are submitted. However it is risky to rely on this, since float comparison can be approximate.

Parameters
job_listlist of jobs to submit
sub_time_stepvalue used to order jobs within the Epoch

Implements fpmas::api::scheduler::Epoch.

◆ jobs()

const std::vector< const api::scheduler::Job * > & fpmas::scheduler::Epoch::jobs ( ) const
overridevirtual

Returns a reference to the internal Jobs list.

Returns
current jobs list

Implements fpmas::api::scheduler::Epoch.

◆ begin()

Epoch::JobIterator fpmas::scheduler::Epoch::begin ( ) const
overridevirtual

Returns a begin iterator to the epoch's jobs.

Returns
begin iterator

Implements fpmas::api::scheduler::Epoch.

◆ end()

Epoch::JobIterator fpmas::scheduler::Epoch::end ( ) const
overridevirtual

Returns an end iterator to the epoch's jobs.

Returns
end iterator

Implements fpmas::api::scheduler::Epoch.

◆ jobCount()

size_t fpmas::scheduler::Epoch::jobCount ( )
overridevirtual

Returns the current number of jobs in the Epoch.

Returns
job count

Implements fpmas::api::scheduler::Epoch.

◆ clear()

void fpmas::scheduler::Epoch::clear ( )
overridevirtual

Clears the Epoch, removing all jobs currently submitted.

Implements fpmas::api::scheduler::Epoch.


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