Pyrogenesis  trunk
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CProfileNode Class Reference

#include <Profile.h>

Collaboration diagram for CProfileNode:
Collaboration graph
[legend]

Public Types

typedef std::vector< CProfileNode * >::iterator profile_iterator
 
typedef std::vector< CProfileNode * >::const_iterator const_profile_iterator
 

Public Member Functions

 CProfileNode (const char *name, CProfileNode *parent)
 
 ~CProfileNode ()
 
const char * GetName () const
 
double GetFrameCalls () const
 
double GetFrameTime () const
 
double GetTurnCalls () const
 
double GetTurnTime () const
 
double GetFrameMallocs () const
 
double GetTurnMallocs () const
 
const CProfileNodeGetChild (const char *name) const
 
const CProfileNodeGetScriptChild (const char *name) const
 
const std::vector< CProfileNode * > * GetChildren () const
 
const std::vector< CProfileNode * > * GetScriptChildren () const
 
bool CanExpand ()
 
CProfileNodeGetChild (const char *name)
 
CProfileNodeGetScriptChild (const char *name)
 
CProfileNodeGetParent () const
 
void Reset ()
 
void Frame ()
 
void Turn ()
 
void Call ()
 
bool Return ()
 

Private Member Functions

 NONCOPYABLE (CProfileNode)
 

Private Attributes

const char * name
 
int calls_frame_current
 
int calls_turn_current
 
RingBuf< int, PROFILE_AMORTIZE_FRAMEScalls_per_frame
 
RingBuf< int, PROFILE_AMORTIZE_TURNScalls_per_turn
 
double time_frame_current
 
double time_turn_current
 
RingBuf< double, PROFILE_AMORTIZE_FRAMEStime_per_frame
 
RingBuf< double, PROFILE_AMORTIZE_TURNStime_per_turn
 
long mallocs_frame_current
 
long mallocs_turn_current
 
RingBuf< long, PROFILE_AMORTIZE_FRAMESmallocs_per_frame
 
RingBuf< long, PROFILE_AMORTIZE_TURNSmallocs_per_turn
 
double start
 
long start_mallocs
 
int recursion
 
CProfileNodeparent
 
std::vector< CProfileNode * > children
 
std::vector< CProfileNode * > script_children
 
CProfileNodeTabledisplay_table
 

Friends

class CProfileManager
 
class CProfileNodeTable
 

Member Typedef Documentation

typedef std::vector<CProfileNode*>::const_iterator CProfileNode::const_profile_iterator
typedef std::vector<CProfileNode*>::iterator CProfileNode::profile_iterator

Constructor & Destructor Documentation

CProfileNode::CProfileNode ( const char *  name,
CProfileNode parent 
)
CProfileNode::~CProfileNode ( )

Member Function Documentation

void CProfileNode::Call ( )
bool CProfileNode::CanExpand ( )
void CProfileNode::Frame ( )
const CProfileNode * CProfileNode::GetChild ( const char *  name) const
CProfileNode * CProfileNode::GetChild ( const char *  name)
const std::vector<CProfileNode*>* CProfileNode::GetChildren ( ) const
inline
double CProfileNode::GetFrameCalls ( ) const
double CProfileNode::GetFrameMallocs ( ) const
double CProfileNode::GetFrameTime ( ) const
const char* CProfileNode::GetName ( ) const
inline
CProfileNode* CProfileNode::GetParent ( ) const
inline
const CProfileNode * CProfileNode::GetScriptChild ( const char *  name) const
CProfileNode * CProfileNode::GetScriptChild ( const char *  name)
const std::vector<CProfileNode*>* CProfileNode::GetScriptChildren ( ) const
inline
double CProfileNode::GetTurnCalls ( ) const
double CProfileNode::GetTurnMallocs ( ) const
double CProfileNode::GetTurnTime ( ) const
CProfileNode::NONCOPYABLE ( CProfileNode  )
private
void CProfileNode::Reset ( )
bool CProfileNode::Return ( )
void CProfileNode::Turn ( )

Friends And Related Function Documentation

friend class CProfileManager
friend
friend class CProfileNodeTable
friend

Member Data Documentation

int CProfileNode::calls_frame_current
private
RingBuf<int, PROFILE_AMORTIZE_FRAMES> CProfileNode::calls_per_frame
private
RingBuf<int, PROFILE_AMORTIZE_TURNS> CProfileNode::calls_per_turn
private
int CProfileNode::calls_turn_current
private
std::vector<CProfileNode*> CProfileNode::children
private
CProfileNodeTable* CProfileNode::display_table
private
long CProfileNode::mallocs_frame_current
private
RingBuf<long, PROFILE_AMORTIZE_FRAMES> CProfileNode::mallocs_per_frame
private
RingBuf<long, PROFILE_AMORTIZE_TURNS> CProfileNode::mallocs_per_turn
private
long CProfileNode::mallocs_turn_current
private
const char* CProfileNode::name
private
CProfileNode* CProfileNode::parent
private
int CProfileNode::recursion
private
std::vector<CProfileNode*> CProfileNode::script_children
private
double CProfileNode::start
private
long CProfileNode::start_mallocs
private
double CProfileNode::time_frame_current
private
RingBuf<double, PROFILE_AMORTIZE_FRAMES> CProfileNode::time_per_frame
private
RingBuf<double, PROFILE_AMORTIZE_TURNS> CProfileNode::time_per_turn
private
double CProfileNode::time_turn_current
private

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