xtd 0.2.0
Loading...
Searching...
No Matches
distribution.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "optional.hpp"
6#include "object.hpp"
7#include "platform_id.hpp"
8#include "uri.hpp"
9#include "string.hpp"
10#include "version.hpp"
11#include <map>
12
14namespace xtd {
28 class distribution final : public object {
29 public:
30 using id_collection = xtd::array<xtd::string>;
32
46
48 distribution() = default;
50
52
56 [[nodiscard]] auto bug_repport() const noexcept -> const xtd::uri&;
57
60 [[nodiscard]] auto code_name() const noexcept -> const xtd::string&;
61
64 [[nodiscard]] auto description() const noexcept -> const xtd::string&;
65
68 [[nodiscard]] auto home() const noexcept -> const xtd::uri&;
69
72 [[nodiscard]] auto id() const noexcept -> const xtd::string&;
73
76 [[nodiscard]] auto like_ids() const noexcept -> const id_collection&;
77
80 [[nodiscard]] auto name() const noexcept -> const xtd::string&;
81
84 [[nodiscard]] auto version() const noexcept -> const xtd::version&;
85
88 [[nodiscard]] auto version_string() const noexcept -> const xtd::string&;
90
92
96 [[nodiscard]] auto get_hash_code() const noexcept -> xtd::usize override;
97
100 [[nodiscard]] auto to_string() const noexcept -> xtd::string override;
102
103 private:
104 xtd::string name_;
105 xtd::version version_;
106 xtd::string code_name_;
107 xtd::string description_;
108 xtd::string id_;
109 id_collection like_ids_;
110 xtd::string version_string_;
111 xtd::uri home_;
112 xtd::uri bug_repport_;
113 };
114}
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:64
auto description() const noexcept -> const xtd::string &
Gets operating system distribution description. For example "Ubuntu 22.04.2 LTS".
auto version() const noexcept -> const xtd::version &
Gets a xtd::version object that identifies the operating system distribution. For example xtd::versio...
auto home() const noexcept -> const xtd::uri &
Gets operating system distribution home url.
auto code_name() const noexcept -> const xtd::string &
Gets operating system distribution code name. For example "jammy" is the code name of Ubuntu 22....
auto to_string() const noexcept -> xtd::string override
Converts the value of this distribution object to its equivalent string representation.
auto name() const noexcept -> const xtd::string &
Gets operating system distribution name. For example "Ubuntu".
auto version_string() const noexcept -> const xtd::string &
Gets operating system distribution version string.
auto get_hash_code() const noexcept -> xtd::usize override
Serves as a hash function for a particular type.
auto bug_repport() const noexcept -> const xtd::uri &
Gets operating system distribution bug repport url.
distribution(const xtd::string &name, const xtd::version &version, const xtd::string &code_name, const xtd::string &description, const xtd::string &id, const id_collection &like_ids, const xtd::string &version_string, const xtd::uri &home, const xtd::uri &bug_repport)
Initializes a new instance of the distribution class, using the specified name, version,...
auto like_ids() const noexcept -> const id_collection &
Gets operating system distribution like identifiers array.
object()=default
Create a new instance of the ultimate base class object.
Provides an object representation of a uniform resource identifier (URI) and easy access to the parts...
Definition uri.hpp:103
Represents the version number of an assembly, operating system, or the xtd. This class cannot be inhe...
Definition version.hpp:115
xtd::basic_string< char > string
Represents text as a sequence of UTF-8 code units.
Definition __string_definitions.hpp:43
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Contains xtd::object class.
Contains xtd::optional type.
Contains xtd::platform_id enum class.
Contains xtd::string alias.
Contains xtd::uri class.
Contains xtd::version class.