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 {
30 class forms_export_ enable_debug : public object, public xtd::iequatable<enable_debug> {
31 public:
33 enable_debug() = default;
34 enable_debug(const enable_debug&) = default;
35 enable_debug& operator =(const enable_debug&) = default;
36
37 enable_debug operator |(const enable_debug& value) const noexcept;
38 enable_debug operator +(const enable_debug& value) const noexcept;
40
42
45 static const enable_debug none;
47 static const enable_debug creation;
49 static const enable_debug events;
55 static const enable_debug layout;
59 static const enable_debug style;
61 static const enable_debug all;
63
65
71
73
75 using object::equals;
76 bool equals(const enable_debug& value) const noexcept override;
78
80
84 static bool get(const enable_debug& flags);
87 static void set(const enable_debug& flags, bool on);
89
90 private:
91 explicit enable_debug(uint64 value);
92
93 uint64 value_ = 0;
94 static xtd::diagnostics::trace_switch trace_switch_;
95 static enable_debug values_;
96 };
97 }
98}
Provides a multilevel switch to control tracing and debug output without recompiling your code.
Definition trace_switch.h:30
Represent enable debug class.
Definition enable_debug.h:30
static const enable_debug mouse_events
Represent mouse events debug.
Definition enable_debug.h:53
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:51
static const enable_debug style
Represent style debug.
Definition enable_debug.h:59
static const enable_debug creation
Represent creation debug.
Definition enable_debug.h:47
static const enable_debug events
Represent events debug.
Definition enable_debug.h:49
static const enable_debug all
Represent all debug.
Definition enable_debug.h:61
static const enable_debug workaround
Represent workaround debug.
Definition enable_debug.h:57
static const enable_debug none
Represent none debug.
Definition enable_debug.h:45
static const enable_debug layout
Represent layout debug.
Definition enable_debug.h:55
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.h:22
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:42
#define forms_export_
Define shared library export.
Definition forms_export.h:13
uint64_t uint64
Represents a 64-bit unsigned integer.
Definition uint64.h:23
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