xtd 0.2.0
Loading...
Searching...
No Matches
compiler.h
Go to the documentation of this file.
1
4#pragma once
5#include "build_type.h"
6#include "compiler_id.h"
7#include "object.h"
8#include "ustring.h"
9#include "version.h"
10#include <vector>
11
13namespace xtd {
25 class compiler final : public object {
26 public:
28
37
39 compiler() = default;
40 compiler(const compiler&) = default;
41 compiler& operator =(const compiler&) = default;
43
45
50
53 xtd::build_type build_type() const noexcept;
54
57 xtd::compiler_id compiler_id() const noexcept;
58
61 bool is_build_type_debug() const noexcept;
62
65 bool is_64_bit() noexcept;
66
69 xtd::ustring name() const noexcept;
70
73 xtd::ustring version_string() const noexcept;
74
77 const xtd::version& version() const noexcept;
79
81
85 xtd::ustring to_string() const noexcept override;
87
88 private:
89 xtd::ustring get_apple_clang_additional_information() const noexcept;
90 xtd::ustring get_compiler_version_string(const xtd::ustring& compiler_name) const noexcept;
91 xtd::ustring get_msvc_additional_information() const noexcept;
92
93 xtd::compiler_id compiler_id_ = xtd::compiler_id::unknown;
94 xtd::version version_;
95 xtd::build_type build_type_ = xtd::build_type::debug;
96 bool is_64_bit_ = false;
97 };
98}
Contains xtd::build_type enum class.
Represents information about c++ libraries, such as the version and standard identifier....
Definition compiler.h:25
compiler(xtd::compiler_id compiler_id, const xtd::version &version, xtd::build_type build_type, bool is_64_bit)
Initialise a new xtd::compiler class.
xtd::ustring version_string() const noexcept
Gets compiler version string.
bool is_64_bit() noexcept
Gets is 64 bits.
bool is_build_type_debug() const noexcept
Gets build type is debug.
xtd::ustring additional_information() const noexcept
Gets additional information.
xtd::ustring name() const noexcept
Gets compiler name.
xtd::ustring to_string() const noexcept override
Converts the value of this operating_system object to its equivalent string representation.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:32
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
Represents the version number of an assembly, operating system, or the xtd. This class cannot be inhe...
Definition version.h:110
Contains xtd::compiler_id enum class.
build_type
Identifies the build type.
Definition build_type.h:18
compiler_id
Identifies the compiler, supported by an assembly.
Definition compiler_id.h:18
@ debug
Build type debug.
@ unknown
The processor architecture is unknown.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd::object class.
Contains xtd::ustring class.
Contains xtd::version class.