xtd 1.0.0
Loading...
Searching...
No Matches
enable_debug.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "../forms_export.hpp"
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 xtd::object, public xtd::iequatable<enable_debug> {
31 public:
33 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;
49 static const enable_debug key_events;
51 static const enable_debug mouse_events;
53 static const enable_debug layout;
55 static const enable_debug workaround;
57 static const enable_debug style;
59 static const enable_debug all;
61
63
67 [[nodiscard]] static auto trace_switch() noexcept -> xtd::diagnostics::trace_switch&;
69
71
76 [[nodiscard]] auto equals(const xtd::object& obj) const noexcept -> bool override;
80 [[nodiscard]] auto equals(const enable_debug& other) const noexcept -> bool override;
81
84 [[nodiscard]] auto get_hash_code() const noexcept -> xtd::usize override;
86
88
92 [[nodiscard]] static auto get(const enable_debug& flags) -> bool;
95 static auto set(const enable_debug& flags, bool on) -> void;
97
98 private:
99 explicit enable_debug(xtd::uint64 value);
100
101 xtd::uint64 value_ = 0;
102 static enable_debug values_;
103 };
104 }
105}
static const enable_debug mouse_events
Represent mouse events debug.
Definition enable_debug.hpp:51
static auto trace_switch() noexcept -> xtd::diagnostics::trace_switch &
Gets a trace switch to configure debug traces.
static const enable_debug key_events
Represent key events debug.
Definition enable_debug.hpp:49
auto get_hash_code() const noexcept -> xtd::usize override
Serves as a hash function for a particular type.
static const enable_debug style
Represent style debug.
Definition enable_debug.hpp:57
static const enable_debug creation
Represent creation debug.
Definition enable_debug.hpp:45
auto equals(const xtd::object &obj) const noexcept -> bool override
Determines whether the specified object is equal to the current object.
static const enable_debug events
Represent events debug.
Definition enable_debug.hpp:47
static const enable_debug all
Represent all debug.
Definition enable_debug.hpp:59
static const enable_debug workaround
Represent workaround debug.
Definition enable_debug.hpp:55
static auto get(const enable_debug &flags) -> bool
Gets enable_debug flags status.
static auto set(const enable_debug &flags, bool on) -> void
Sets enable_debug flags status.
static const enable_debug none
Represent none debug.
Definition enable_debug.hpp:43
static const enable_debug layout
Represent layout debug.
Definition enable_debug.hpp:53
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:23
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:45
Contains forms_export_ keyword.
#define forms_export_
Define shared library export.
Definition forms_export.hpp:13
std::uint64_t uint64
Represents a 64-bit unsigned integer.
Definition uint64.hpp:23
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
The xtd::diagnostics namespace provides classes that allow you to interact with system processes,...
Definition assert_dialog_result.hpp:10
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition texts.hpp:219
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8