MeVisLabToolboxReference
MLCallGraphNode Class Reference

#include <mlCallGraph.h>

List of all members.

Public Member Functions

 MLCallGraphNode (MLTimeProfile *timeProfile=NULL, MLCallGraphNode *parent=NULL, void *userData=NULL, const MLCallGraphFunctionPtr &callGraphFunction=MLCallGraphFunctionPtr())
 ~MLCallGraphNode ()
MLCallGraphNodecreateChild (MLTimeProfile *timeProfile, const MLCallGraphFunctionPtr &function, void *userData)
const MLTimertimer () const
const MLTimeProfiletimeProfile () const
const MLCallGraphFunctionPtrfunction () const
const std::vector
< MLCallGraphNode * > & 
children () const
MLCallGraphNodeparent () const
bool isRecursive (const MLTimeProfile *timeProfile) const
 Returns true if the node is a recursive call of its function regarding the time profile.
bool isRecursive () const
 Returns true if the node is a recursive call of its function.
void print (std::ostream &out, const std::string &indent="", bool doLock=true) const
void removeFromParent ()
 Removes the node from its parent.
const MLTimeStatisticsstatistics () const
 Returns the time statistics of the call graph node.
void * userData () const
 Returns the user data.
void clearUserData ()
 Clears the user data.

Friends

class MLProfilingManager
class MLTimeProfile

Detailed Description

Definition at line 57 of file mlCallGraph.h.


Constructor & Destructor Documentation

MLCallGraphNode::MLCallGraphNode ( MLTimeProfile timeProfile = NULL,
MLCallGraphNode parent = NULL,
void *  userData = NULL,
const MLCallGraphFunctionPtr callGraphFunction = MLCallGraphFunctionPtr() 
)
MLCallGraphNode::~MLCallGraphNode ( )

Member Function Documentation

const std::vector<MLCallGraphNode*>& MLCallGraphNode::children ( ) const [inline]

Definition at line 72 of file mlCallGraph.h.

void MLCallGraphNode::clearUserData ( ) [inline]

Clears the user data.

Definition at line 96 of file mlCallGraph.h.

MLCallGraphNode* MLCallGraphNode::createChild ( MLTimeProfile timeProfile,
const MLCallGraphFunctionPtr function,
void *  userData 
)
const MLCallGraphFunctionPtr& MLCallGraphNode::function ( ) const [inline]

Definition at line 71 of file mlCallGraph.h.

bool MLCallGraphNode::isRecursive ( ) const [inline]

Returns true if the node is a recursive call of its function.

Definition at line 211 of file mlCallGraph.h.

bool MLCallGraphNode::isRecursive ( const MLTimeProfile timeProfile) const [inline]

Returns true if the node is a recursive call of its function regarding the time profile.

If it is false, isRecursive() can still return true.

Definition at line 225 of file mlCallGraph.h.

MLCallGraphNode* MLCallGraphNode::parent ( ) const [inline]

Definition at line 73 of file mlCallGraph.h.

void MLCallGraphNode::print ( std::ostream &  out,
const std::string &  indent = "",
bool  doLock = true 
) const
void MLCallGraphNode::removeFromParent ( )

Removes the node from its parent.

This is used by MLTimeProfile when call graph nodes are deleted. Otherwise the parent would delete the invalid child pointer again.

const MLTimeStatistics& MLCallGraphNode::statistics ( ) const [inline]

Returns the time statistics of the call graph node.

Definition at line 90 of file mlCallGraph.h.

const MLTimeProfile* MLCallGraphNode::timeProfile ( ) const [inline]

Definition at line 70 of file mlCallGraph.h.

const MLTimer& MLCallGraphNode::timer ( ) const [inline]

Definition at line 69 of file mlCallGraph.h.

void* MLCallGraphNode::userData ( ) const [inline]

Returns the user data.

Definition at line 93 of file mlCallGraph.h.


Friends And Related Function Documentation

friend class MLProfilingManager [friend]

Definition at line 107 of file mlCallGraph.h.

friend class MLTimeProfile [friend]

Definition at line 108 of file mlCallGraph.h.


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