xtd 0.2.0
Loading...
Searching...
No Matches
compiler.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "build_type.hpp"
6#include "compiler_id.hpp"
7#include "object.hpp"
8#include "string.hpp"
9#include "version.hpp"
10#include <vector>
11
13namespace xtd {
27 class compiler final : public object {
28 public:
30
39
41 compiler() = default;
42 compiler(const compiler&) = default;
43 compiler& operator =(const compiler&) = default;
45
47
52
55 xtd::build_type build_type() const noexcept;
56
59 xtd::compiler_id compiler_id() const noexcept;
60
63 bool is_build_type_debug() const noexcept;
64
67 bool is_64_bit() noexcept;
68
71 xtd::string name() const noexcept;
72
75 xtd::string version_string() const noexcept;
76
79 const xtd::version& version() const noexcept;
81
83
87 xtd::string to_string() const noexcept override;
89
90 private:
91 xtd::string get_apple_clang_additional_information() const noexcept;
92 xtd::string get_compiler_version_string(const xtd::string& compiler_name) const noexcept;
93 xtd::string get_msvc_additional_information() const noexcept;
94
95 xtd::compiler_id compiler_id_ = xtd::compiler_id::unknown;
96 xtd::version version_;
97 xtd::build_type build_type_ = xtd::build_type::debug;
98 bool is_64_bit_ = false;
99 };
100}
Contains xtd::build_type enum class.
Represents text as a sequence of character units.
Definition basic_string.hpp:79
Represents information about c++ libraries, such as the version and standard identifier....
Definition compiler.hpp:27
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::string 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::string additional_information() const noexcept
Gets additional information.
xtd::string name() const noexcept
Gets compiler name.
xtd::string 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.hpp:42
Represents the version number of an assembly, operating system, or the xtd. This class cannot be inhe...
Definition version.hpp:114
Contains xtd::compiler_id enum class.
build_type
Identifies the build type.
Definition build_type.hpp:20
compiler_id
Identifies the compiler, supported by an assembly.
Definition compiler_id.hpp:20
@ 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.hpp:10
Contains xtd::object class.
Contains xtd::string alias.
Contains xtd::version class.