debugdiagnostics.h File Reference

Detailed Description

Debugging section

Classes

class  FormatTemplateHelper< ARGCNT, FORMATSTR >
 
class  FormatTemplateHelper< ARGCNT, const Char(&)[N]>
 

Namespaces

 maxon
 

Macros

#define __debugbreak()
 
#define FORMATTEMPLATECHECK0(formatString, ...)
 
#define FORMATTEMPLATECHECK1(formatString, ...)
 
#define FORMATTEMPLATECHECK_C(count, formatString, ...)
 
#define FORMATTEMPLATECHECK_B(count, formatString, ...)
 
#define FORMATTEMPLATECHECK_A(count, formatString, ...)
 
#define FORMATTEMPLATECHECK(formatString, ...)
 
#define OutputWithFlags(flags, formatString, ...)
 
#define DebugOutput(flags, formatString, ...)
 
#define DiagnosticOutput(formatString, ...)
 
#define DiagnosticVarOutput(...)
 
#define PRIVATE_MAXON_DiagnosticVarOutput(x, i, a)
 
#define WarningOutput(formatString, ...)
 
#define CriticalOutput(formatString, ...)
 
#define ApplicationOutput(formatString, ...)
 
#define OUTPUTCHECK0(A, B)
 
#define OUTPUTCHECK1(A, B)
 
#define OUTPUTCHECK_C(count, A, B)
 
#define OUTPUTCHECK_B(count, A, B)
 
#define OUTPUTCHECK_A(count, A, B)
 
#define OUTPUTCHECK(A, B, ...)
 
#define DebugStop(...)
 
#define CriticalStop(...)
 
#define DebugAssert(condition, ...)
 
#define CriticalAssert(condition, ...)
 
#define SizeAssert(type, s)
 

Typedefs

using TOSTR = void(*)(String &result, const void *ptr, const FormatStatement *formatStatement)
 

Enumerations

enum class  TARGETAUDIENCE {
  DEBUGGER ,
  DEVELOPERS ,
  USERS ,
  ALL
}
 
enum class  WRITEMETA {
  DEFAULT ,
  WARNING ,
  CRITICAL ,
  NONEWLINE ,
  UI_SYNC_DRAW
}
 
enum class  OUTPUT {
  NONE ,
  DIAGNOSTIC ,
  WARNING ,
  CRITICAL ,
  PRETTYPRINT ,
  NOLINEBREAK ,
  HEADER
}
 

Functions

enum maxon::TARGETAUDIENCE MAXON_ENUM_FLAGS (TARGETAUDIENCE, "net.maxon.datatype.enum.targetaudience", EARLY)
 
enum maxon::WRITEMETA MAXON_ENUM_FLAGS (WRITEMETA, "net.maxon.datatype.enum.writemeta", EARLY)
 
enum maxon::OUTPUT MAXON_ENUM_FLAGS (OUTPUT, "net.maxon.datatype.enum.output", EARLY)
 
void _ConsoleOutput (OUTPUT flags, const Char *str, Int line, const Char *file)
 
void _ConsoleOutput (OUTPUT flags, const String &str, Int line, const Char *file)
 
void _ConsoleOutput (OUTPUT flags, StringProxy *str, Int line, const Char *file)
 
void _ApplicationOutput (maxon::TARGETAUDIENCE t, maxon::WRITEMETA lvl, const maxon::String &str, Int line, const Char *file)
 
void _ApplicationOutput (maxon::TARGETAUDIENCE t, maxon::WRITEMETA lvl, const Char *str, Int line, const Char *file)
 
void _ApplicationOutput (maxon::TARGETAUDIENCE t, maxon::WRITEMETA lvl, const maxon::StringProxy *proxy, Int line, const Char *file)
 
template<typename T >
void ToStrHlp (String &result, const T *x, const FormatStatement *formatStatement)
 
template<typename T >
TOSTR GetToStrHlp ()
 
StringProxy * Format (const String &formatString, Int argsCnt, const void **args, const TOSTR *argFuncs)
 
StringProxy * Format (const Char *formatString, Int argsCnt, const void **args, const TOSTR *argFuncs)
 
template<Int ARGCNT, typename FORMATSTR , typename... ARGS>
StringProxy * FormatTemplateX (FORMATSTR formatString, const ARGS &... args)
 
template<Int ARGCNT, typename FORMATSTR >
FORMATSTR FormatTemplateX (FORMATSTR formatString)
 
constexpr Int GetArgCnt (const Char *const formatStr)
 
constexpr bool StrStrConstExpr (const char *str, const char *search)
 

Variables

 DEBUGGER
 
 DEVELOPERS
 
 USERS
 
 ALL
 
 DEFAULT
 
 WARNING
 
 CRITICAL
 
 NONEWLINE
 
 UI_SYNC_DRAW
 
 NONE
 
 DIAGNOSTIC
 
 PRETTYPRINT
 
 NOLINEBREAK
 
 HEADER
 
maxon::Bool g_isDebuggerPresent
 
maxon::Bool g_enableDebugBreak
 

Macro Definition Documentation

◆ __debugbreak

#define __debugbreak ( )

Variable Documentation

◆ DEBUGGER

DEBUGGER

◆ DEVELOPERS

DEVELOPERS

◆ USERS

USERS

◆ ALL

ALL

◆ DEFAULT

DEFAULT

◆ WARNING

WARNING

Warning output, shows up if this group of output is activated.

◆ CRITICAL

CRITICAL

Critical output, shows up if this group of output is activated.

◆ NONEWLINE

NONEWLINE

◆ UI_SYNC_DRAW

UI_SYNC_DRAW

◆ NONE

NONE

No flag set.

◆ DIAGNOSTIC

DIAGNOSTIC

Diagnostic output, shows up if this group of output is activated. This is also the default.

◆ PRETTYPRINT

PRETTYPRINT

If set, it is tried to break and indent long output according to parentheses and commas.

◆ NOLINEBREAK

NOLINEBREAK

If set, no line break is added.

◆ HEADER

HEADER

If set, header with line number and file name is added.