Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
CProfileNode Class Reference

#include <Profile.h>

Collaboration diagram for CProfileNode:

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
 
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
 
double start
 
int recursion
 
CProfileNodeparent
 
std::vector< CProfileNode * > children
 
std::vector< CProfileNode * > script_children
 
CProfileNodeTabledisplay_table
 

Friends

class CProfileManager
 
class CProfileNodeTable
 

Member Typedef Documentation

◆ const_profile_iterator

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

◆ profile_iterator

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

Constructor & Destructor Documentation

◆ CProfileNode()

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

◆ ~CProfileNode()

CProfileNode::~CProfileNode ( )

Member Function Documentation

◆ Call()

void CProfileNode::Call ( )

◆ CanExpand()

bool CProfileNode::CanExpand ( )

◆ Frame()

void CProfileNode::Frame ( )

◆ GetChild() [1/2]

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

◆ GetChild() [2/2]

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

◆ GetChildren()

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

◆ GetFrameCalls()

double CProfileNode::GetFrameCalls ( ) const

◆ GetFrameTime()

double CProfileNode::GetFrameTime ( ) const

◆ GetName()

const char * CProfileNode::GetName ( ) const
inline

◆ GetParent()

CProfileNode * CProfileNode::GetParent ( ) const
inline

◆ GetScriptChild() [1/2]

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

◆ GetScriptChild() [2/2]

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

◆ GetScriptChildren()

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

◆ GetTurnCalls()

double CProfileNode::GetTurnCalls ( ) const

◆ GetTurnTime()

double CProfileNode::GetTurnTime ( ) const

◆ NONCOPYABLE()

CProfileNode::NONCOPYABLE ( CProfileNode  )
private

◆ Reset()

void CProfileNode::Reset ( )

◆ Return()

bool CProfileNode::Return ( )

◆ Turn()

void CProfileNode::Turn ( )

Friends And Related Function Documentation

◆ CProfileManager

friend class CProfileManager
friend

◆ CProfileNodeTable

friend class CProfileNodeTable
friend

Member Data Documentation

◆ calls_frame_current

int CProfileNode::calls_frame_current
private

◆ calls_per_frame

RingBuf<int, PROFILE_AMORTIZE_FRAMES> CProfileNode::calls_per_frame
private

◆ calls_per_turn

RingBuf<int, PROFILE_AMORTIZE_TURNS> CProfileNode::calls_per_turn
private

◆ calls_turn_current

int CProfileNode::calls_turn_current
private

◆ children

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

◆ display_table

CProfileNodeTable* CProfileNode::display_table
private

◆ name

const char* CProfileNode::name
private

◆ parent

CProfileNode* CProfileNode::parent
private

◆ recursion

int CProfileNode::recursion
private

◆ script_children

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

◆ start

double CProfileNode::start
private

◆ time_frame_current

double CProfileNode::time_frame_current
private

◆ time_per_frame

RingBuf<double, PROFILE_AMORTIZE_FRAMES> CProfileNode::time_per_frame
private

◆ time_per_turn

RingBuf<double, PROFILE_AMORTIZE_TURNS> CProfileNode::time_per_turn
private

◆ time_turn_current

double CProfileNode::time_turn_current
private

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