xtd 1.0.0
Loading...
Searching...
No Matches
link.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "../forms_export.hpp"
6#include <xtd/any_object>
7#include <xtd/iequatable>
8#include <xtd/object>
9#include <xtd/string>
10#include <tuple>
11
13namespace xtd {
15 namespace forms {
17 class link_label;
19
33 class forms_export_ link : public xtd::object, public xtd::iequatable<link> {
34 struct data;
35
36 public:
38
52
54 link(const link&);
55 link& operator =(const link&);
57
59
63 [[nodiscard]] auto description() const noexcept -> const xtd::string&;
67 auto description(const xtd::string& value) -> link&;
68
72 [[nodiscard]] auto enabled() const noexcept -> bool;
77 auto enabled(bool value) -> link&;
78
82 [[nodiscard]] auto length() const noexcept -> xtd::usize;
87 auto length(xtd::usize value) -> link&;
88
92 [[nodiscard]] auto link_data() const noexcept -> const xtd::any_object&;
97 auto link_data(const xtd::any_object& value) -> link&;
98
101 [[nodiscard]] auto name() const noexcept -> const xtd::string&;
105 auto name(const xtd::string& value) -> link&;
106
110 [[nodiscard]] auto start() const noexcept -> xtd::usize;
115 auto start(xtd::usize value) -> link&;
116
119 [[nodiscard]] auto tag() const noexcept -> const xtd::any_object&;
123 auto tag(const xtd::any_object& value) -> link&;
124
129 [[nodiscard]] auto visited() const noexcept -> bool;
135 auto visited(bool value) -> link&;
137
139
144 [[nodiscard]] auto equals(const xtd::object& obj) const noexcept -> bool override;
148 [[nodiscard]] auto equals(const link& other) const noexcept -> bool override;
149
152 [[nodiscard]] auto get_hash_code() const noexcept -> xtd::usize override;
154
155 private:
156 friend link_label;
157 [[nodiscard]] bool active_() const noexcept;
158 auto active_(bool active) noexcept -> void;
159
160 xtd::sptr<data> data_;
161 };
162 }
163}
164
Represent a polymorphic wrapper capable of holding any type.
Definition any_object.hpp:29
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
xtd::shared_ptr_object< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
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
constexpr auto data() const noexcept -> const_pointer
Gets direct access to the underlying contiguous storage.
Definition read_only_span.hpp:197