7#include "../add_last_arg_to_command.hpp" 
    8#include "../core_export.hpp" 
    9#include "../environment.hpp" 
   10#include "../static.hpp" 
   11#include "../string.hpp" 
   26  namespace diagnostics {
 
   80      static 
void auto_flush(
bool auto_flush) noexcept;
 
   85      static 
uint32 indent_level() noexcept;
 
   89      static 
void indent_level(
uint32 indent_level) noexcept;
 
   94      static 
uint32 indent_size() noexcept;
 
   98      static 
void indent_size(
uint32 indent_size) noexcept;
 
  117      static 
bool show_assert_dialog() noexcept;
 
  124      static 
void show_assert_dialog(
bool show_assert_dialog) noexcept;
 
  129      static 
bool use_global_lock() noexcept;
 
  133      static 
void use_global_lock(
bool use_global_lock) noexcept;
 
  159      static 
void fail(const 
xtd::
string& message) {
 
  160        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  170        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  171        fail__(message, detail_message);
 
  177        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  188      static 
void print(const 
xtd::
string& message) {
 
  189        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  190        write_line_(message);
 
  197      template<
typename ...args_t>
 
  199        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  204      template<
typename ...args_t>
 
  205      static void print(
const char* format, args_t&& ... args) {
 
  206        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  216        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  217        trace_event_(trace_event_type::error, message);
 
  224      template<
typename ...objects_t>
 
  226        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  235        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  236        trace_event_(trace_event_type::information, message);
 
  243      template<
typename ...objects_t>
 
  245        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  254        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  255        trace_event_(trace_event_type::warning, message);
 
  262      template<
typename ...objects_t>
 
  264        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  276      static 
void write(const 
xtd::
string& message) {
 
  277        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  285      template<
typename object_t>
 
  286      static void write(
const object_t& message) {
 
  287        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  297      template<
typename object_t>
 
  299        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  308      template<
typename ...args_t>
 
  310        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  311        write_(string::format(
format, args...));
 
  315      template<
typename ...args_t>
 
  316      static void write(
const char* format, args_t&& ... args) {
 
  317        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  318        write_(string::format(format, args...));
 
  329        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  330        if (condition) write_(message);
 
  333      template<
typename object_t>
 
  339      static void write_if(
bool condition, 
const object_t& message) {
 
  340        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  350      template<
typename object_t>
 
  352        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  362        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  371        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  372        write_line_(message);
 
  379      template<
typename object_t>
 
  381        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  391      template<
typename object_t>
 
  393        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  401      template<
typename ...args_t>
 
  403        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  404        write_line_(string::format(
format, args...));
 
  408      template<
typename ...args_t>
 
  409      static void write_line(
const char* format, args_t&& ... args) {
 
  410        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  411        write_line_(string::format(format, args...));
 
  422        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  423        if (condition) write_line_(message);
 
  431      template<
typename object_t>
 
  433        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  434        if (condition) write_line_(message);
 
  443      template<
typename object_t>
 
  445        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  446        if (condition) write_line_(message, category);
 
  454        #if !defined(NDEBUG) || defined(DEBUG) || defined(TRACE) 
  455        auto result = xtd::diagnostics::debug::assert_dialog(condition, message, detail_message, stack_frame);
 
  469      static bool internal_show_assert_dialog() noexcept;
 
  470      static 
void fail__(const 
xtd::
string& message);
 
  471      static 
void fail__(const 
xtd::
string& message, const 
xtd::
string& detail_message);
 
  472      static 
void flush_();
 
  473      static 
void trace_event_(trace_event_type trace_event_type, const 
xtd::
string& message);
 
  474      static 
void write_(const 
xtd::
string& message);
 
  475      static 
void write_(const 
xtd::
string& message, const 
xtd::
string& category);
 
  476      static 
void write_line_(const 
xtd::
string& message);
 
  477      static 
void write_line_(const 
xtd::
string& message, const 
xtd::
string& category);
 
  479      inline static 
bool auto_flush_ = false;
 
  480      inline static uint32 indent_level_ = 0;
 
  481      inline static uint32 indent_size_ = 4;
 
  482      static listener_collection& listeners_;
 
  483      static 
xtd::
string source_name_;
 
Contains xtd::diagnostics::assert_dialog_result enum class.
 
Represents text as a sequence of character units.
Definition basic_string.hpp:79
 
static const basic_string empty_string
Represents the empty basic_string.
Definition basic_string.hpp:124
 
Provides a set of methods and properties that help you debug the execution of your code....
Definition debug.hpp:59
 
static void write_if(bool condition, const object_t &message, const xtd::string &category)
Writes a category name and message to the trace listeners in the Listeners collection if a condition ...
Definition debug.hpp:351
 
static void trace_information(const xtd::string &message, const objects_t &... args)
Writes an informational message to the trace listeners in the listeners collection using the specifie...
Definition debug.hpp:244
 
static void indent() noexcept
Increases the current indent_level by one.
 
static void write_line()
Writes a line terminator to the trace listeners in the listeners collection.
Definition debug.hpp:361
 
static void write(const object_t &message, const xtd::string &category)
Writes a category name and message to the trace listeners in the listeners collection.
Definition debug.hpp:298
 
static void write_line_if(bool condition, const object_t &message)
Writes a message followed by a line terminator to the trace listeners in the Listeners collection if ...
Definition debug.hpp:432
 
static void write_line(const object_t &message)
Writes a message followed by a line terminator to the trace listeners in the listeners collection.
Definition debug.hpp:380
 
static void write(const xtd::string &format, args_t &&... args)
Writes a formatted string to the trace listeners in the listeners collection.
Definition debug.hpp:309
 
static bool auto_flush() noexcept
Gets whether xtd::diagnostics::debug::flush should be called on the xtd::diagnostics::debug::Listener...
 
static void trace_error(const xtd::string &message, const objects_t &... args)
Writes an error message to the trace listeners in the listeners collection using the specified array ...
Definition debug.hpp:225
 
static void write_line_if(bool condition, const object_t &message, const xtd::string &category)
Writes a category name and message followed by a line terminator to the trace listeners in the Listen...
Definition debug.hpp:444
 
static void fail(const xtd::string &message, const xtd::string &detail_message)
Emits an error message and a detailed error message.
Definition debug.hpp:169
 
static void write_line(const xtd::string &message)
Writes a message followed by a line terminator to the trace listeners in the listeners collection.
Definition debug.hpp:370
 
static void write_if(bool condition, const object_t &message)
Writes a message to the trace listeners in the Listeners collection if a condition is true.
Definition debug.hpp:339
 
static void print(const xtd::string &format, args_t &&... args)
Writes a formatted string followed by a line terminator to the trace listeners in the listeners colle...
Definition debug.hpp:198
 
static void trace_error(const xtd::string &message)
Writes an error message to the trace listeners in the Listeners collection using the specified messag...
Definition debug.hpp:215
 
static void trace_warning(const xtd::string &message)
Writes a warning message to the trace listeners in the listeners collection using the specified messa...
Definition debug.hpp:253
 
static void write(const object_t &message)
Writes a message to the trace listeners in the listeners collection.
Definition debug.hpp:286
 
static void flush()
Flushes the output buffer and causes buffered data to write to the listeners collection.
Definition debug.hpp:176
 
static void write_line(const xtd::string &format, args_t &&... args)
Writes a formatted string followed by a line terminator to the trace listeners in the listeners colle...
Definition debug.hpp:402
 
static void unindent() noexcept
Decreases the current indent_level by one.
 
static void trace_information(const xtd::string &message)
Writes an informational message to the trace listeners in the listeners collection using the specifie...
Definition debug.hpp:234
 
static void write_line(const object_t &message, const xtd::string &category)
Writes a category name and message followed by a line terminator to the trace listeners in the listen...
Definition debug.hpp:392
 
static void trace_warning(const xtd::string &message, const objects_t &... args)
Writes a warning message to the trace listeners in the listeners collection using the specified array...
Definition debug.hpp:263
 
static void write_if(bool condition, const xtd::string &message)
Writes a message to the trace listeners in the Listeners collection if a condition is true.
Definition debug.hpp:328
 
static void write_line_if(bool condition, const xtd::string &message)
Writes a message followed by a line terminator to the trace listeners in the Listeners collection if ...
Definition debug.hpp:421
 
Provides the default output methods and behavior for tracing.
Definition default_trace_listener.hpp:33
 
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition stack_frame.hpp:47
 
static stack_frame current(const xtd::source_location &value=xtd::source_location::current()) noexcept
Crates a new xtd::diagnostics::stack_frame object corresponding to the location of the call site.
 
Represents a collection of xtd::diagnostics::trace_listener.
Definition trace_listener_collection.hpp:29
 
static void exit()
Terminates this process and returns an exit code to the operating system.
 
Represents the version number of an assembly, operating system, or the xtd. This class cannot be inhe...
Definition version.hpp:114
 
#define static_
This keyword is use to represent a static object. A static object can't be instantiated (constructors...
Definition static.hpp:37
 
#define core_export_
Define shared library export.
Definition core_export.hpp:13
 
uint32_t uint32
Represents a 32-bit unsigned integer.
Definition uint32.hpp:23
 
assert_dialog_result
Specifies identifiers to indicate the return value of an assert dialog box.
Definition assert_dialog_result.hpp:25
 
@ retry
The assert dialog return value is Retry (usually sent from a button labeled Retry).
 
@ abort
The assert dialog return value is Abort (usually sent from a button labeled Abort).
 
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
 
void print(arg_t &&value)
Writes the text representation of the specified value to the standard output stream.
Definition print.hpp:13
 
Contains xtd::diagnostics::trace_listener_collection class.
 
Contains xtd::diagnostics::debugger class.
 
Contains xtd::diagnostics::stack_trace class.