xtd 0.2.0
Loading...
Searching...
No Matches
enable_debug.h
Go to the documentation of this file.
1
4#pragma once
5#include "../forms_export.h"
6#include <xtd/diagnostics/trace_switch>
7#include <xtd/iequatable>
8#include <xtd/object>
9#include <xtd/static>
10#include <cstdint>
11
13namespace xtd {
15 namespace forms {
28 class forms_export_ enable_debug : public object, public xtd::iequatable<enable_debug> {
29 public:
31 enable_debug() = default;
32 enable_debug(const enable_debug&) = default;
33 enable_debug& operator =(const enable_debug&) = default;
34
35 enable_debug operator |(const enable_debug& value) const noexcept;
36 enable_debug operator +(const enable_debug& value) const noexcept;
38
40
43 static const enable_debug none;
45 static const enable_debug creation;
47 static const enable_debug events;
53 static const enable_debug layout;
57 static const enable_debug style;
59 static const enable_debug all;
61
63
69
71
73 bool equals(const enable_debug& value) const noexcept override;
75
77
81 static bool get(const enable_debug& flags);
84 static void set(const enable_debug& flags, bool on);
86
87 private:
88 explicit enable_debug(uint64 value);
89
90 uint64 value_ = 0;
91 static xtd::diagnostics::trace_switch trace_switch_;
92 static enable_debug values_;
93 };
94 }
95}
Provides a multilevel switch to control tracing and debug output without recompiling your code.
Definition trace_switch.h:28
Represent enable debug class.
Definition enable_debug.h:28
static const enable_debug mouse_events
Represent mouse events debug.
Definition enable_debug.h:51
static xtd::diagnostics::trace_switch & trace_switch() noexcept
Gets a trace switch to configure debug traces.
static const enable_debug key_events
Represent key events debug.
Definition enable_debug.h:49
static const enable_debug style
Represent style debug.
Definition enable_debug.h:57
static const enable_debug creation
Represent creation debug.
Definition enable_debug.h:45
static const enable_debug events
Represent events debug.
Definition enable_debug.h:47
static const enable_debug all
Represent all debug.
Definition enable_debug.h:59
static const enable_debug workaround
Represent workaround debug.
Definition enable_debug.h:55
static const enable_debug none
Represent none debug.
Definition enable_debug.h:43
static const enable_debug layout
Represent layout debug.
Definition enable_debug.h:53
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.h:18
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:32
#define forms_export_
Define shared library export.
Definition forms_export.h:13
uint_least64_t uint64
Represents a 64-bit unsigned integer.
Definition types.h:252
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition xtd_about_box.h:12
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10