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

Class instantiated in every registered thread. More...

Public Member Functions

 ThreadStorage (CProfiler2 &profiler, const std::string &name)
 
 ~ThreadStorage ()
 
void RecordSyncMarker (double t)
 
void Record (EItem type, double t, const char *id)
 
void RecordFrameStart (double t)
 
void RecordAttribute (const char *fmt, va_list argp) VPRINTF_ARGS(2)
 
void RecordAttributePrintf (const char *fmt,...) PRINTF_ARGS(2)
 
CProfiler2GetProfiler ()
 
const std::string & GetName ()
 
std::string GetBuffer ()
 Returns a copy of a subset of the thread's buffer. More...
 

Private Member Functions

 NONCOPYABLE (ThreadStorage)
 
void Write (EItem type, const void *item, u32 itemSize)
 Store an item into the buffer. More...
 

Private Attributes

CProfiler2m_Profiler
 
std::string m_Name
 
double m_LastTime
 
u8m_Buffer
 
u32 m_BufferPos0
 
u32 m_BufferPos1
 

Detailed Description

Class instantiated in every registered thread.

Definition at line 131 of file Profiler2.h.

Constructor & Destructor Documentation

CProfiler2::ThreadStorage::ThreadStorage ( CProfiler2 profiler,
const std::string &  name 
)

Definition at line 269 of file Profiler2.cpp.

CProfiler2::ThreadStorage::~ThreadStorage ( )

Definition at line 276 of file Profiler2.cpp.

Member Function Documentation

std::string CProfiler2::ThreadStorage::GetBuffer ( )

Returns a copy of a subset of the thread's buffer.

Not guaranteed to start on an item boundary. May be called by any thread.

Definition at line 281 of file Profiler2.cpp.

const std::string& CProfiler2::ThreadStorage::GetName ( )
inline

Definition at line 180 of file Profiler2.h.

CProfiler2& CProfiler2::ThreadStorage::GetProfiler ( )
inline

Definition at line 175 of file Profiler2.h.

CProfiler2::ThreadStorage::NONCOPYABLE ( ThreadStorage  )
private
void CProfiler2::ThreadStorage::Record ( EItem  type,
double  t,
const char *  id 
)
inline

Definition at line 150 of file Profiler2.h.

void CProfiler2::ThreadStorage::RecordAttribute ( const char *  fmt,
va_list  argp 
)

Definition at line 305 of file Profiler2.cpp.

void CProfiler2::ThreadStorage::RecordAttributePrintf ( const char *  fmt,
  ... 
)
inline

Definition at line 167 of file Profiler2.h.

void CProfiler2::ThreadStorage::RecordFrameStart ( double  t)
inline

Definition at line 159 of file Profiler2.h.

void CProfiler2::ThreadStorage::RecordSyncMarker ( double  t)
inline

Definition at line 138 of file Profiler2.h.

void CProfiler2::ThreadStorage::Write ( EItem  type,
const void *  item,
u32  itemSize 
)
inlineprivate

Store an item into the buffer.

Definition at line 196 of file Profiler2.h.

Member Data Documentation

u8* CProfiler2::ThreadStorage::m_Buffer
private

Definition at line 232 of file Profiler2.h.

u32 CProfiler2::ThreadStorage::m_BufferPos0
private

Definition at line 245 of file Profiler2.h.

u32 CProfiler2::ThreadStorage::m_BufferPos1
private

Definition at line 246 of file Profiler2.h.

double CProfiler2::ThreadStorage::m_LastTime
private

Definition at line 230 of file Profiler2.h.

std::string CProfiler2::ThreadStorage::m_Name
private

Definition at line 228 of file Profiler2.h.

CProfiler2& CProfiler2::ThreadStorage::m_Profiler
private

Definition at line 227 of file Profiler2.h.


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