HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PDGE_DependencyOwner Class Referenceabstract

#include <PDGE_DependencyOwner.h>

+ Inheritance diagram for PDGE_DependencyOwner:

Public Types

using Array = UT_Array< PDGE_DependencyOwner * >
 
using Set = UT_ArraySet< PDGE_DependencyOwner * >
 

Public Member Functions

 PDGE_DependencyOwner ()
 Constructs a new dependency owner, which must have a string name. More...
 
virtual ~PDGE_DependencyOwner ()
 
virtual int64 getMemoryUsage (bool inclusive) const
 Returns the memory usage of this owner instance. More...
 
virtual void resetOwner ()
 Resets the owner. More...
 
virtual UT_StringHolder debugName () const =0
 
virtual UT_StringHolder debugGroup () const
 

Static Public Member Functions

template<typename T >
static void cast (UT_Array< T > &out, const Array &in)
 Converts an owner array to an array of the specified type. More...
 
template<typename T >
static void cast (Array &out, const UT_Array< T > &in)
 Converts an array of the specified type to an owner array. More...
 

Protected Member Functions

virtual PDGE_Dependency::State evalResolve (PDGE_Resolutions &, const PDGE_Evaluator &, PDGE_Dependency *)
 Called when a dependency owned by this object is resolved. More...
 
virtual int evalUnresolve (PDGE_Dependency::Array &, PDGE_Dependency *)
 
virtual PDGE_Dependency::State evalPartial (PDGE_Resolutions &, const PDGE_Evaluator &, PDGE_Dependency *, const Array &)
 
const PDGE_Dependency::SetpropagateSet ()
 Returns the propagate set for this owner. More...
 
void addPropagate (PDGE_Dependency *dependency)
 Adds an entry to the propagate set. More...
 

Friends

class PDGE_Dependency
 
class PDGE_PropagateGroup
 

Detailed Description

Base class for objects that own dependencies

Definition at line 26 of file PDGE_DependencyOwner.h.

Member Typedef Documentation

Constructor & Destructor Documentation

PDGE_DependencyOwner::PDGE_DependencyOwner ( )
inline

Constructs a new dependency owner, which must have a string name.

Definition at line 34 of file PDGE_DependencyOwner.h.

virtual PDGE_DependencyOwner::~PDGE_DependencyOwner ( )
inlinevirtual

Definition at line 35 of file PDGE_DependencyOwner.h.

Member Function Documentation

void PDGE_DependencyOwner::addPropagate ( PDGE_Dependency dependency)
inlineprotected

Adds an entry to the propagate set.

Definition at line 120 of file PDGE_DependencyOwner.h.

template<typename T >
static void PDGE_DependencyOwner::cast ( UT_Array< T > &  out,
const Array in 
)
inlinestatic

Converts an owner array to an array of the specified type.

Definition at line 62 of file PDGE_DependencyOwner.h.

template<typename T >
static void PDGE_DependencyOwner::cast ( Array out,
const UT_Array< T > &  in 
)
inlinestatic

Converts an array of the specified type to an owner array.

Definition at line 71 of file PDGE_DependencyOwner.h.

virtual UT_StringHolder PDGE_DependencyOwner::debugGroup ( ) const
inlinevirtual

Debug name for the dependency group this owner is in, used for DOT graph output when enabled.

Reimplemented in PDG_WorkItem.

Definition at line 57 of file PDGE_DependencyOwner.h.

virtual UT_StringHolder PDGE_DependencyOwner::debugName ( ) const
pure virtual

Debug name for this dependency owner object, used when various debug utilities are enabled

Implemented in PDG_Node, PDG_Scheduler, PDGE_Evaluator, and PDG_WorkItem.

virtual PDGE_Dependency::State PDGE_DependencyOwner::evalPartial ( PDGE_Resolutions ,
const PDGE_Evaluator ,
PDGE_Dependency ,
const Array  
)
inlineprotectedvirtual

Called when a dependency owned by this object receives a partial resolve notification.

Reimplemented in PDG_Processor, and PDG_Partitioner.

Definition at line 105 of file PDGE_DependencyOwner.h.

virtual PDGE_Dependency::State PDGE_DependencyOwner::evalResolve ( PDGE_Resolutions ,
const PDGE_Evaluator ,
PDGE_Dependency  
)
inlineprotectedvirtual

Called when a dependency owned by this object is resolved.

Reimplemented in PDG_WorkItem, PDG_Scheduler, PDG_Processor, PDG_BatchWorkItem, PDGE_Evaluator, PDG_Partitioner, and PDG_Mapper.

Definition at line 83 of file PDGE_DependencyOwner.h.

virtual int PDGE_DependencyOwner::evalUnresolve ( PDGE_Dependency::Array ,
PDGE_Dependency  
)
inlineprotectedvirtual

Called when a dependency owned by this object is unresolved during an evaluation. This method is not called for normal reset calls between evaluations, or when a dependency object is destroyed. It also cannot be used to add new dependencies or trigger evaluation of existing ones, however it can return back additional dependencies that should be unresolved.

Reimplemented in PDG_WorkItem.

Definition at line 97 of file PDGE_DependencyOwner.h.

virtual int64 PDGE_DependencyOwner::getMemoryUsage ( bool  inclusive) const
inlinevirtual

Returns the memory usage of this owner instance.

Reimplemented in PDG_Scheduler, PDG_GraphContext, PDG_Node, PDG_WorkItem, and PDGE_Evaluator.

Definition at line 40 of file PDGE_DependencyOwner.h.

const PDGE_Dependency::Set& PDGE_DependencyOwner::propagateSet ( )
inlineprotected

Returns the propagate set for this owner.

Definition at line 116 of file PDGE_DependencyOwner.h.

virtual void PDGE_DependencyOwner::resetOwner ( )
inlinevirtual

Resets the owner.

Reimplemented in PDG_Node, PDG_Scheduler, PDG_Processor, PDG_WorkItem, PDG_Partitioner, and PDG_BatchWorkItem.

Definition at line 48 of file PDGE_DependencyOwner.h.

Friends And Related Function Documentation

friend class PDGE_Dependency
friend

Definition at line 79 of file PDGE_DependencyOwner.h.

friend class PDGE_PropagateGroup
friend

Definition at line 80 of file PDGE_DependencyOwner.h.


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