QuantumLibrary
Bloomberg::quantum::ITask Interface Referenceabstract

Interface to a task. For internal use only. More...

#include <quantum_itask.h>

Inheritance diagram for Bloomberg::quantum::ITask:
Bloomberg::quantum::ITerminate Bloomberg::quantum::IoTask Bloomberg::quantum::ITaskContinuation Bloomberg::quantum::Task

Public Types

enum  Type : int {
  Type::Standalone, Type::First, Type::Continuation, Type::ErrorHandler,
  Type::Final, Type::Termination, Type::IO
}
 
enum  RetCode : int { RetCode::Success = 0, RetCode::Running = std::numeric_limits<int>::max(), RetCode::Exception = (int)Running-1, RetCode::NotCallable = (int)Running-2 }
 
using Ptr = std::shared_ptr< ITask >
 
using WeakPtr = std::weak_ptr< ITask >
 

Public Member Functions

 ~ITask ()=default
 
virtual int run ()=0
 
virtual void setQueueId (int queueId)=0
 
virtual int getQueueId ()=0
 
virtual Type getType () const =0
 
virtual bool isBlocked () const =0
 
virtual bool isSleeping (bool updateTimer=false)=0
 
virtual bool isHighPriority () const =0
 
- Public Member Functions inherited from Bloomberg::quantum::ITerminate
virtual ~ITerminate ()=default
 Virtual destructor. This function is explicitly left empty. More...
 
virtual void terminate ()=0
 Terminates the object. More...
 

Detailed Description

Interface to a task. For internal use only.

Member Typedef Documentation

◆ Ptr

using Bloomberg::quantum::ITask::Ptr = std::shared_ptr<ITask>

◆ WeakPtr

using Bloomberg::quantum::ITask::WeakPtr = std::weak_ptr<ITask>

Member Enumeration Documentation

◆ RetCode

Enumerator
Success 
Running 
Exception 
NotCallable 

◆ Type

Enumerator
Standalone 
First 
Continuation 
ErrorHandler 
Final 
Termination 
IO 

Constructor & Destructor Documentation

◆ ~ITask()

Bloomberg::quantum::ITask::~ITask ( )
default

Member Function Documentation

◆ getQueueId()

virtual int Bloomberg::quantum::ITask::getQueueId ( )
pure virtual

◆ getType()

virtual Type Bloomberg::quantum::ITask::getType ( ) const
pure virtual

◆ isBlocked()

virtual bool Bloomberg::quantum::ITask::isBlocked ( ) const
pure virtual

◆ isHighPriority()

virtual bool Bloomberg::quantum::ITask::isHighPriority ( ) const
pure virtual

◆ isSleeping()

virtual bool Bloomberg::quantum::ITask::isSleeping ( bool  updateTimer = false)
pure virtual

◆ run()

virtual int Bloomberg::quantum::ITask::run ( )
pure virtual

◆ setQueueId()

virtual void Bloomberg::quantum::ITask::setQueueId ( int  queueId)
pure virtual