glbinding  3.3.0.0
A C++ binding for the OpenGL API, generated using the gl.xml specification.
Loading...
Searching...
No Matches
Version.inl
Go to the documentation of this file.
1
2#pragma once
3
4
5namespace glbinding
6{
7
8
9GLBINDING_CONSTEXPR Version::Version()
10: m_major(0)
11, m_minor(0)
12{
13}
14
15GLBINDING_CONSTEXPR Version::Version(unsigned char majorVersion, unsigned char minorVersion)
16: m_major(majorVersion)
17, m_minor(minorVersion)
18{
19}
20
21GLBINDING_CONSTEXPR Version::Version(const Version & version)
22: Version(version.m_major, version.m_minor)
23{
24}
25
27: Version(std::move(version.m_major), std::move(version.m_minor))
28{
29}
30
31
32GLBINDING_CONSTEXPR unsigned char Version::majorVersion() const
33{
34 return m_major;
35}
36
37GLBINDING_CONSTEXPR unsigned char Version::minorVersion() const
38{
39 return m_minor;
40}
41
42Version::operator std::pair<unsigned char, unsigned char>() const
43{
44 return std::pair<unsigned char, unsigned char>(m_major, m_minor);
45}
46
47Version::operator std::pair<unsigned short, unsigned short>() const
48{
49 return std::pair<unsigned short, unsigned short>(m_major, m_minor);
50}
51
52Version::operator std::pair<unsigned int, unsigned int>() const
53{
54 return std::pair<unsigned int, unsigned int>(m_major, m_minor);
55}
56
57std::string Version::toString() const
58{
59 if (isNull()) {
60 return "-.-";
61 }
62
63 return std::to_string(static_cast<int>(m_major)) + '.' + std::to_string(static_cast<int>(m_minor));
64}
65
66GLBINDING_CONSTEXPR bool Version::isNull() const
67{
68 return m_major == 0;
69}
70
72{
73 m_major = version.m_major;
74 m_minor = version.m_minor;
75
76 return *this;
77}
78
80{
81 m_major = std::move(version.m_major);
82 m_minor = std::move(version.m_minor);
83
84 return *this;
85}
86
87GLBINDING_CONSTEXPR bool Version::operator<(const Version & version) const
88{
89 return m_major < version.m_major
90 || (m_major == version.m_major && m_minor < version.m_minor);
91}
92
93GLBINDING_CONSTEXPR bool Version::operator>(const Version & version) const
94{
95 return m_major > version.m_major
96 || (m_major == version.m_major && m_minor > version.m_minor);
97}
98
99GLBINDING_CONSTEXPR bool Version::operator==(const Version & version) const
100{
101 return m_major == version.m_major
102 && m_minor == version.m_minor;
103}
104
105GLBINDING_CONSTEXPR bool Version::operator!=(const Version & version) const
106{
107 return m_major != version.m_major
108 || m_minor != version.m_minor;
109}
110
111GLBINDING_CONSTEXPR bool Version::operator>=(const Version & version) const
112{
113 return *this > version || *this == version;
114}
115
116GLBINDING_CONSTEXPR bool Version::operator<=(const Version & version) const
117{
118 return *this < version || *this == version;
119}
120
121
122} // namespace glbinding
The Version class represents an OpenGL feature, consisting of major version and minor version,...
Definition Version.h:34
Version & operator=(const Version &version)
The assignment operator of another Version.
Definition Version.inl:71
unsigned char m_minor
The minor version.
Definition Version.h:227
GLBINDING_CONSTEXPR Version()
Default constructor, resulting in an invalid Version object.
Definition Version.inl:9
GLBINDING_CONSTEXPR bool operator==(const Version &version) const
Operator for equal comparison to another Version.
Definition Version.inl:99
unsigned char m_major
The major version.
Definition Version.h:226
GLBINDING_CONSTEXPR bool operator<=(const Version &version) const
Operator for lesser equal comparison to another Version.
Definition Version.inl:116
std::string toString() const
Create a string representing the Version using the scheme "<majorVersion>.<minorVersion>".
Definition Version.inl:57
GLBINDING_CONSTEXPR bool operator!=(const Version &version) const
Operator for unequal comparison to another Version.
Definition Version.inl:105
GLBINDING_CONSTEXPR unsigned char minorVersion() const
Accessor for the minor version.
Definition Version.inl:37
GLBINDING_CONSTEXPR unsigned char majorVersion() const
Accessor for the major version.
Definition Version.inl:32
GLBINDING_CONSTEXPR bool operator>(const Version &version) const
Operator for greater comparison to another Version.
Definition Version.inl:93
GLBINDING_CONSTEXPR bool operator<(const Version &version) const
Operator for lesser comparison to another Version.
Definition Version.inl:87
GLBINDING_CONSTEXPR bool isNull() const
Check if the Version was constructed using the default constructor.
Definition Version.inl:66
GLBINDING_CONSTEXPR bool operator>=(const Version &version) const
Operator for greater equal comparison to another Version.
Definition Version.inl:111
Contains all the classes of glbinding.