Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CProfileNode Class Reference

#include <Profile.h>

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_FRAMES
calls_per_frame
 
RingBuf< int,
PROFILE_AMORTIZE_TURNS
calls_per_turn
 
double time_frame_current
 
double time_turn_current
 
RingBuf< double,
PROFILE_AMORTIZE_FRAMES
time_per_frame
 
RingBuf< double,
PROFILE_AMORTIZE_TURNS
time_per_turn
 
long mallocs_frame_current
 
long mallocs_turn_current
 
RingBuf< long,
PROFILE_AMORTIZE_FRAMES
mallocs_per_frame
 
RingBuf< long,
PROFILE_AMORTIZE_TURNS
mallocs_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
 

Detailed Description

Definition at line 41 of file Profile.h.

Member Typedef Documentation

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

Definition at line 76 of file Profile.h.

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

Definition at line 75 of file Profile.h.

Constructor & Destructor Documentation

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

Definition at line 262 of file Profile.cpp.

CProfileNode::~CProfileNode ( )

Definition at line 274 of file Profile.cpp.

Member Function Documentation

void CProfileNode::Call ( )

Definition at line 621 of file Profile.cpp.

bool CProfileNode::CanExpand ( )

Definition at line 367 of file Profile.cpp.

void CProfileNode::Frame ( )

Definition at line 396 of file Profile.cpp.

const CProfileNode * CProfileNode::GetChild ( const char *  name) const

Definition at line 323 of file Profile.cpp.

CProfileNode * CProfileNode::GetChild ( const char *  name)

Definition at line 343 of file Profile.cpp.

const std::vector<CProfileNode*>* CProfileNode::GetChildren ( ) const
inline

Definition at line 92 of file Profile.h.

double CProfileNode::GetFrameCalls ( ) const

Definition at line 293 of file Profile.cpp.

double CProfileNode::GetFrameMallocs ( ) const

Definition at line 313 of file Profile.cpp.

double CProfileNode::GetFrameTime ( ) const

Definition at line 298 of file Profile.cpp.

const char* CProfileNode::GetName ( ) const
inline

Definition at line 81 of file Profile.h.

CProfileNode* CProfileNode::GetParent ( ) const
inline

Definition at line 99 of file Profile.h.

const CProfileNode * CProfileNode::GetScriptChild ( const char *  name) const

Definition at line 333 of file Profile.cpp.

CProfileNode * CProfileNode::GetScriptChild ( const char *  name)

Definition at line 355 of file Profile.cpp.

const std::vector<CProfileNode*>* CProfileNode::GetScriptChildren ( ) const
inline

Definition at line 93 of file Profile.h.

double CProfileNode::GetTurnCalls ( ) const

Definition at line 303 of file Profile.cpp.

double CProfileNode::GetTurnMallocs ( ) const

Definition at line 318 of file Profile.cpp.

double CProfileNode::GetTurnTime ( ) const

Definition at line 308 of file Profile.cpp.

CProfileNode::NONCOPYABLE ( CProfileNode  )
private
void CProfileNode::Reset ( )

Definition at line 372 of file Profile.cpp.

bool CProfileNode::Return ( )

Definition at line 632 of file Profile.cpp.

void CProfileNode::Turn ( )

Definition at line 413 of file Profile.cpp.

Friends And Related Function Documentation

friend class CProfileManager
friend

Definition at line 45 of file Profile.h.

friend class CProfileNodeTable
friend

Definition at line 46 of file Profile.h.

Member Data Documentation

int CProfileNode::calls_frame_current
private

Definition at line 50 of file Profile.h.

RingBuf<int, PROFILE_AMORTIZE_FRAMES> CProfileNode::calls_per_frame
private

Definition at line 52 of file Profile.h.

RingBuf<int, PROFILE_AMORTIZE_TURNS> CProfileNode::calls_per_turn
private

Definition at line 53 of file Profile.h.

int CProfileNode::calls_turn_current
private

Definition at line 51 of file Profile.h.

std::vector<CProfileNode*> CProfileNode::children
private

Definition at line 70 of file Profile.h.

CProfileNodeTable* CProfileNode::display_table
private

Definition at line 72 of file Profile.h.

long CProfileNode::mallocs_frame_current
private

Definition at line 60 of file Profile.h.

RingBuf<long, PROFILE_AMORTIZE_FRAMES> CProfileNode::mallocs_per_frame
private

Definition at line 62 of file Profile.h.

RingBuf<long, PROFILE_AMORTIZE_TURNS> CProfileNode::mallocs_per_turn
private

Definition at line 63 of file Profile.h.

long CProfileNode::mallocs_turn_current
private

Definition at line 61 of file Profile.h.

const char* CProfileNode::name
private

Definition at line 48 of file Profile.h.

CProfileNode* CProfileNode::parent
private

Definition at line 69 of file Profile.h.

int CProfileNode::recursion
private

Definition at line 67 of file Profile.h.

std::vector<CProfileNode*> CProfileNode::script_children
private

Definition at line 71 of file Profile.h.

double CProfileNode::start
private

Definition at line 65 of file Profile.h.

long CProfileNode::start_mallocs
private

Definition at line 66 of file Profile.h.

double CProfileNode::time_frame_current
private

Definition at line 55 of file Profile.h.

RingBuf<double, PROFILE_AMORTIZE_FRAMES> CProfileNode::time_per_frame
private

Definition at line 57 of file Profile.h.

RingBuf<double, PROFILE_AMORTIZE_TURNS> CProfileNode::time_per_turn
private

Definition at line 58 of file Profile.h.

double CProfileNode::time_turn_current
private

Definition at line 56 of file Profile.h.


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