Open Search
    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.