copasi API  0.1
Classes | Public Types | Public Member Functions
CProcessQueue Class Reference

#include <CProcessQueue.h>

List of all members.

Classes

class  CAction
class  CKey

Public Types

typedef std::multimap< CKey,
CAction >::iterator 
iterator
typedef std::pair
< std::multimap< CKey, CAction >
::iterator, std::multimap
< CKey, CAction >::iterator
range
typedef range(* resolveSimultaneousAssignments )(const std::multimap< CKey, CAction > &, const C_FLOAT64 &, const bool &, const unsigned C_INT32 &)

Public Member Functions

 CProcessQueue ()
 CProcessQueue (const CProcessQueue &src)
 ~CProcessQueue ()
bool addAssignment (const C_FLOAT64 &executionTime, const bool &equality, const unsigned C_INT32 &order, const unsigned C_INT32 &eventId, C_FLOAT64 *pTarget, const C_FLOAT64 &value, CMathEvent *pEvent)
bool addCalculation (const C_FLOAT64 &executionTime, const bool &equality, const unsigned C_INT32 &order, const unsigned C_INT32 &eventId, C_FLOAT64 *pTarget, CMathExpression *pExpression, CMathEvent *pEvent)
void initialize (CMathModel *pMathModel)
bool process (const C_FLOAT64 &time, const bool &priorToOutput, resolveSimultaneousAssignments pResolveSimultaneousAssignments)
const unsigned C_INT32 & createEventId ()
const C_FLOAT64 & getProcessQueueExecutionTime () const
bool isEmpty () const

Member Typedef Documentation

typedef std::multimap< CKey, CAction >::iterator CProcessQueue::iterator
typedef std::pair< std::multimap< CKey, CAction >::iterator, std::multimap< CKey, CAction >::iterator > CProcessQueue::range
typedef range(* CProcessQueue::resolveSimultaneousAssignments)(const std::multimap< CKey, CAction > &, const C_FLOAT64 &, const bool &, const unsigned C_INT32 &)

Constructor & Destructor Documentation

CProcessQueue::CProcessQueue ( )

Default constructor

CProcessQueue::CProcessQueue ( const CProcessQueue src)

Copy constructor

CProcessQueue::~CProcessQueue ( )

Destructor


Member Function Documentation

bool CProcessQueue::addAssignment ( const C_FLOAT64 &  executionTime,
const bool &  equality,
const unsigned C_INT32 &  order,
const unsigned C_INT32 &  eventId,
C_FLOAT64 *  pTarget,
const C_FLOAT64 &  value,
CMathEvent pEvent 
)

Add an assignment to the process queue.

Parameters:
constC_FLOAT64 & executionTime
constbool & equality
constunsigned C_INT32 & order
constunsigned C_INT32 & eventId
C_FLOAT64* pTarget
constC_FLOAT64 & value
CMathEvent* pEvent
Returns:
bool success
bool CProcessQueue::addCalculation ( const C_FLOAT64 &  executionTime,
const bool &  equality,
const unsigned C_INT32 &  order,
const unsigned C_INT32 &  eventId,
C_FLOAT64 *  pTarget,
CMathExpression *  pExpression,
CMathEvent pEvent 
)

Add a calculation to the process queue.

Parameters:
constC_FLOAT64 & executionTime
constbool & equality
constunsigned C_INT32 & order
constunsigned C_INT32 & eventId
C_FLOAT64* pTarget
CMathExpression* pExpression
CMathEvent* pEvent
Returns:
bool success
const unsigned C_INT32 & CProcessQueue::createEventId ( )

Create a unique eventId

Returns:
const unsigned C_INT32 & eventId;
const C_FLOAT64 & CProcessQueue::getProcessQueueExecutionTime ( ) const

Retrieve the next execution time scheduled in the process queue

Returns:
const C_FLOAT64 & processQueueExecutionTime
void CProcessQueue::initialize ( CMathModel pMathModel)

Clear the process queue.

Parameters:
CMathModel* pMathModel
bool CProcessQueue::isEmpty ( ) const

Checks whether the process queue is empty

Returns:
bool isEmpty
bool CProcessQueue::process ( const C_FLOAT64 &  time,
const bool &  priorToOutput,
resolveSimultaneousAssignments  pResolveSimultaneousAssignments 
)

Process the queue.

Parameters:
constC_FLOAT64 & time
constbool & priorToOutput
resolveSimultaneousAssignmentspResolveSimultaneousAssignments
Returns:
bool stateChanged

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines