HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
COP_MicroNodeWithCallback Class Reference

#include <COP_ApexProgram.h>

+ Inheritance diagram for COP_MicroNodeWithCallback:

Public Member Functions

 COP_MicroNodeWithCallback ()
 
void enableCallback (bool enable)
 Controls whether or not the callback runs when the micronode is dirtied. More...
 
bool callbackEnabled () const
 Returns true if the callback is enabled (even if not set). More...
 
void setCallback (void(*callback)(void *), void *data)
 
void becameDirty (DEP_MicroNode &src, const DEP_PropagateData &propdata) override
 
- Public Member Functions inherited from DEP_TimedMicroNode
 DEP_TimedMicroNode ()
 
const char * className () const override
 
bool requiresUpdate (fpreal t) const override
 
void update (fpreal t) override
 
- Public Member Functions inherited from DEP_MicroNode
 DEP_MicroNode ()
 
virtual ~DEP_MicroNode ()
 
virtual void getInputs (DEP_MicroNodeList &inputs) const
 
virtual void clearInputs ()
 
virtual void getOutputs (DEP_MicroNodeList &outputs) const
 
void propagateDirty (Visitor client_visit, bool only_outputs=false)
 
void traverseAncestorInputs (const TraverseVisitor &visitor) const
 Traverse all ancestor inputs of this micronode. More...
 
bool markVisitPass (int pass)
 
SYS_FORCE_INLINE int lastVisitPass () const
 
virtual int64 getMemoryUsage (bool inclusive) const
 Obtain approximate memory usage. More...
 
virtual void dump (std::ostream &os, const char *prefix=0, int indent_level=0) const
 Dump contents to output stream, strictly for debugging purposes. More...
 
void dumpAsDOT (std::ostream &os, const char *prefix=0, int indent_level=0) const
 Dump the contents is a manner more suitable for DOT. More...
 
bool inheritTimeDependentFromExplicitInputs ()
 
bool inheritTimeInterestedFromExplicitInputs ()
 
bool inheritContextOptionDepsFromExplicitInputs (const UT_StringArray &ignore_deps)
 
void addExplicitInput (DEP_MicroNode &inp, bool check_dup)
 Methods for manipulating explicit edges. More...
 
SYS_FORCE_INLINE void addExplicitInput (DEP_MicroNode &inp)
 Add an input that this micronode depends on. More...
 
void addExplicitInputs (const DEP_MicroNodeList &sources, bool check_dup=true)
 Bulk add multiple explicit inputs at once. More...
 
void getExplicitInputs (DEP_MicroNodeList &inputs) const
 Get list of all non-null explicit inputs. More...
 
SYS_FORCE_INLINE int getNumExplicitInputs () const
 Get the number of non-null inputs. More...
 
void getExplicitOutputs (DEP_MicroNodeList &outputs) const
 Get list of all non-null explicit outputs. More...
 
SYS_FORCE_INLINE int getNumExplicitOutputs () const
 Get the number of non-null outputs. More...
 
SYS_FORCE_INLINE bool isDirty () const
 Flag accessors. More...
 
void setDirty (bool flag, bool allow_clear=true)
 Flag accessors. More...
 
SYS_FORCE_INLINE bool isTimeDependent () const
 Flag accessors. More...
 
SYS_FORCE_INLINE void setTimeDependent (bool time_dependent)
 Flag accessors. More...
 
SYS_FORCE_INLINE bool isTimeInterested () const
 Flag accessors. More...
 
SYS_FORCE_INLINE void setTimeInterested (bool time_interested)
 Flag accessors. More...
 
SYS_FORCE_INLINE bool hasContextOptionDeps () const
 Flag accessors. More...
 
SYS_FORCE_INLINE const
DEP_ContextOptionDeps
getContextOptionDeps () const
 Flag accessors. More...
 
SYS_FORCE_INLINE void addContextOptionDeps (const DEP_ContextOptionDeps &opts)
 Flag accessors. More...
 
SYS_FORCE_INLINE void addContextOptionDep (const UT_StringHolder &opt)
 Flag accessors. More...
 
SYS_FORCE_INLINE void clearContextOptionDeps ()
 Flag accessors. More...
 
SYS_FORCE_INLINE bool isOpDataMicroNode () const
 Flag accessors. More...
 

Additional Inherited Members

- Public Types inherited from DEP_MicroNode
typedef UT_Function< void(DEP_MicroNode
&, DEP_MicroNode &) > 
Visitor
 
typedef UT_Function< bool(const
DEP_MicroNode &, const
DEP_MicroNode &) > 
TraverseVisitor
 
- Static Public Member Functions inherited from DEP_MicroNode
static SYS_FORCE_INLINE bool canClearDependencies ()
 Global control whether dependencies can be cleared. More...
 
static SYS_FORCE_INLINE bool canEvaluateExports ()
 Global control whether we can evaluate exports. More...
 
static SYS_FORCE_INLINE bool isSameTime (fpreal a, fpreal b)
 
- Static Public Member Functions inherited from UT_SmallObject< DEP_MicroNode >
static voidoperator new (size_t size)
 Regular new/delete operators. More...
 
static void operator delete (void *p, size_t size)
 Regular new/delete operators. More...
 
static voidoperator new (size_t, void *p)
 
static void operator delete (void *, void *)
 
- Protected Member Functions inherited from DEP_MicroNode
SYS_FORCE_INLINE void setIsOpDataMicroNode (bool b)
 
virtual bool isEvaluating () const
 
virtual void evaluateExports ()
 
virtual bool isExporting () const
 

Detailed Description

This micronode can invoke a callback when it becomes dirty. It's used by COP_ApexProgram's callback registration, to make sure a function runs when the program's results are changed.

Definition at line 34 of file COP_ApexProgram.h.

Constructor & Destructor Documentation

COP_MicroNodeWithCallback::COP_MicroNodeWithCallback ( )
inline

Definition at line 37 of file COP_ApexProgram.h.

Member Function Documentation

void COP_MicroNodeWithCallback::becameDirty ( DEP_MicroNode src,
const DEP_PropagateData propdata 
)
overridevirtual

Callbacks for what to do when the micronode becomes dirty. Derived micronodes can override this. Note that it requires knowledge of who made it dirty as they may behave differently. Currently used by OP_Node::propagateDirtyMicroNode

Reimplemented from DEP_MicroNode.

bool COP_MicroNodeWithCallback::callbackEnabled ( ) const
inline

Returns true if the callback is enabled (even if not set).

Definition at line 49 of file COP_ApexProgram.h.

void COP_MicroNodeWithCallback::enableCallback ( bool  enable)
inline

Controls whether or not the callback runs when the micronode is dirtied.

Definition at line 43 of file COP_ApexProgram.h.

void COP_MicroNodeWithCallback::setCallback ( void(*)(void *)  callback,
void data 
)
inline

Set the callback to run when the micronode is dirtied. The callback will only be invoked if enableCallback(true) was previously called. The data pointer is passed to the callback function when it's executed.

Definition at line 57 of file COP_ApexProgram.h.


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