mirror of
https://github.com/polserver/polserver
synced 2026-08-13 08:23:08 -04:00
Authors are not forced to use the clang-format setting, but should atleast be inspired by the style. The only thing which is now not allowed are tabs for ident/alignment!
49 lines
864 B
C++
49 lines
864 B
C++
/** @file
|
|
*
|
|
* @par History
|
|
*/
|
|
|
|
|
|
#ifndef CLIB_TRACEBUF_H
|
|
#define CLIB_TRACEBUF_H
|
|
|
|
namespace Pol
|
|
{
|
|
namespace Clib
|
|
{
|
|
#ifndef NDEBUG
|
|
|
|
#ifndef TRACEBUF_DEPTH
|
|
#define TRACEBUF_DEPTH 5000
|
|
#endif
|
|
|
|
struct TraceBufferElem
|
|
{
|
|
const char* tag;
|
|
unsigned int value;
|
|
};
|
|
|
|
extern TraceBufferElem tracebuffer[TRACEBUF_DEPTH];
|
|
extern unsigned tracebuffer_insertpoint;
|
|
|
|
inline void _tracebuffer_addelem( const char* tag, unsigned int value )
|
|
{
|
|
tracebuffer[tracebuffer_insertpoint].tag = tag;
|
|
tracebuffer[tracebuffer_insertpoint].value = value;
|
|
++tracebuffer_insertpoint;
|
|
if ( tracebuffer_insertpoint >= TRACEBUF_DEPTH )
|
|
tracebuffer_insertpoint = 0;
|
|
}
|
|
#endif
|
|
|
|
void LogTraceBuffer();
|
|
}
|
|
|
|
#ifdef NDEBUG
|
|
#define TRACEBUF_ADDELEM( tag, value ) /**/
|
|
#else
|
|
#define TRACEBUF_ADDELEM( tag, value ) Clib::_tracebuffer_addelem( tag, value )
|
|
#endif
|
|
}
|
|
|
|
#endif // CLIB_TRACEBUF_H
|