diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e6ed427b..7cae022a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,9 +27,6 @@ option(GLM_BUILD_INSTALL "Generate the install target" ${GLM_IS_MASTER_PROJECT}) include(GNUInstallDirs) -option(GLM_ENABLE_CXX_98 "Enable C++ 98" OFF) -option(GLM_ENABLE_CXX_11 "Enable C++ 11" OFF) -option(GLM_ENABLE_CXX_14 "Enable C++ 14" OFF) option(GLM_ENABLE_CXX_17 "Enable C++ 17" OFF) option(GLM_ENABLE_CXX_20 "Enable C++ 20" OFF) @@ -61,43 +58,8 @@ elseif(GLM_ENABLE_CXX_17) message(STATUS "GLM: Build with C++17 features") endif() -elseif(GLM_ENABLE_CXX_14) - set(CMAKE_CXX_STANDARD 14) - add_definitions(-DGLM_FORCE_CXX14) - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - message(STATUS "GLM: Disable -Wc++98-compat warnings") - add_compile_options(-Wno-c++98-compat) - add_compile_options(-Wno-c++98-compat-pedantic) - add_compile_options(-Wno-switch-default) - endif() - if(NOT GLM_QUIET) - message(STATUS "GLM: Build with C++14 features") - endif() - -elseif(GLM_ENABLE_CXX_11) - set(CMAKE_CXX_STANDARD 11) - add_definitions(-DGLM_FORCE_CXX11) - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - message(STATUS "GLM: Disable -Wc++98-compat warnings") - add_compile_options(-Wno-c++98-compat) - add_compile_options(-Wno-c++98-compat-pedantic) - add_compile_options(-Wno-switch-default) - endif() - if(NOT GLM_QUIET) - message(STATUS "GLM: Build with C++11 features") - endif() - -elseif(GLM_ENABLE_CXX_98) - set(CMAKE_CXX_STANDARD 98) - add_definitions(-DGLM_FORCE_CXX98) - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wno-switch-default) - endif() - if(NOT GLM_QUIET) - message(STATUS "GLM: Build with C++98 features") - endif() - else() + set(CMAKE_CXX_STANDARD 17) if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") message(STATUS "GLM: Disable -Wc++98-compat warnings") add_compile_options(-Wno-c++98-compat) diff --git a/doc/api/a00002.html b/doc/api/a00002.html index 37fcdc9eb..71add987e 100644 --- a/doc/api/a00002.html +++ b/doc/api/a00002.html @@ -81,11 +81,11 @@ $(function() {

Functions

template<typename genType > -GLM_FUNC_DECL GLM_CONSTEXPR genType abs (genType x) +GLM_FUNC_DECL constexpr genType abs (genType x)  Returns x if x >= 0; otherwise, it returns -x. More...
  template<length_t L, typename T , qualifier Q> -GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > abs (vec< L, T, Q > const &x) +GLM_FUNC_DECL constexpr vec< L, T, Q > abs (vec< L, T, Q > const &x)  Returns x if x >= 0; otherwise, it returns -x. More...
  template<length_t L, typename T , qualifier Q> @@ -93,15 +93,15 @@ Functions  Returns a value equal to the nearest integer that is greater than or equal to x. More...
  template<typename genType > -GLM_FUNC_DECL GLM_CONSTEXPR genType clamp (genType x, genType minVal, genType maxVal) +GLM_FUNC_DECL constexpr genType clamp (genType x, genType minVal, genType maxVal)  Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
  template<length_t L, typename T , qualifier Q> -GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, T minVal, T maxVal) +GLM_FUNC_DECL constexpr vec< L, T, Q > clamp (vec< L, T, Q > const &x, T minVal, T maxVal)  Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
  template<length_t L, typename T , qualifier Q> -GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal) +GLM_FUNC_DECL constexpr vec< L, T, Q > clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)  Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
  GLM_FUNC_DECL int floatBitsToInt (float v) @@ -158,31 +158,31 @@ Functions  Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) More...
  template<typename genType > -GLM_FUNC_DECL GLM_CONSTEXPR genType max (genType x, genType y) +GLM_FUNC_DECL constexpr genType max (genType x, genType y)  Returns y if x < y; otherwise, it returns x. More...
  template<length_t L, typename T , qualifier Q> -GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, T y) +GLM_FUNC_DECL constexpr vec< L, T, Q > max (vec< L, T, Q > const &x, T y)  Returns y if x < y; otherwise, it returns x. More...
  template<length_t L, typename T , qualifier Q> -GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y) +GLM_FUNC_DECL constexpr vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y)  Returns y if x < y; otherwise, it returns x. More...
  template<typename genType > -GLM_FUNC_DECL GLM_CONSTEXPR genType min (genType x, genType y) +GLM_FUNC_DECL constexpr genType min (genType x, genType y)  Returns y if y < x; otherwise, it returns x. More...
  template<length_t L, typename T , qualifier Q> -GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, T y) +GLM_FUNC_DECL constexpr vec< L, T, Q > min (vec< L, T, Q > const &x, T y)  Returns y if y < x; otherwise, it returns x. More...
  template<length_t L, typename T , qualifier Q> -GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y) +GLM_FUNC_DECL constexpr vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y)  Returns y if y < x; otherwise, it returns x. More...
  template<typename genTypeT , typename genTypeU > -GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix (genTypeT x, genTypeT y, genTypeU a) +GLM_FUNC_DECL constexpr genTypeT mix (genTypeT x, genTypeT y, genTypeU a)  If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. More...
  template<length_t L, typename T , qualifier Q> @@ -202,7 +202,7 @@ Functions  Returns a value equal to the nearest integer to x. More...
  template<length_t L, typename T , qualifier Q> -GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > sign (vec< L, T, Q > const &x) +GLM_FUNC_DECL constexpr vec< L, T, Q > sign (vec< L, T, Q > const &x)  Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. More...
  template<typename genType > diff --git a/doc/api/a00002_source.html b/doc/api/a00002_source.html index aac0ef854..c289a12c9 100644 --- a/doc/api/a00002_source.html +++ b/doc/api/a00002_source.html @@ -80,13 +80,13 @@ $(function() {
21 {
24 
31  template<typename genType>
-
32  GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x);
+
32  GLM_FUNC_DECL constexpr genType abs(genType x);
33 
42  template<length_t L, typename T, qualifier Q>
-
43  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> abs(vec<L, T, Q> const& x);
+
43  GLM_FUNC_DECL constexpr vec<L, T, Q> abs(vec<L, T, Q> const& x);
44 
53  template<length_t L, typename T, qualifier Q>
-
54  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> sign(vec<L, T, Q> const& x);
+
54  GLM_FUNC_DECL constexpr vec<L, T, Q> sign(vec<L, T, Q> const& x);
55 
64  template<length_t L, typename T, qualifier Q>
65  GLM_FUNC_DECL vec<L, T, Q> floor(vec<L, T, Q> const& x);
@@ -122,40 +122,40 @@ $(function() {
168  GLM_FUNC_DECL genType modf(genType x, genType& i);
169 
176  template<typename genType>
-
177  GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y);
+
177  GLM_FUNC_DECL constexpr genType min(genType x, genType y);
178 
187  template<length_t L, typename T, qualifier Q>
-
188  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, T y);
+
188  GLM_FUNC_DECL constexpr vec<L, T, Q> min(vec<L, T, Q> const& x, T y);
189 
198  template<length_t L, typename T, qualifier Q>
-
199  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
+
199  GLM_FUNC_DECL constexpr vec<L, T, Q> min(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
200 
207  template<typename genType>
-
208  GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y);
+
208  GLM_FUNC_DECL constexpr genType max(genType x, genType y);
209 
218  template<length_t L, typename T, qualifier Q>
-
219  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, T y);
+
219  GLM_FUNC_DECL constexpr vec<L, T, Q> max(vec<L, T, Q> const& x, T y);
220 
229  template<length_t L, typename T, qualifier Q>
-
230  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
+
230  GLM_FUNC_DECL constexpr vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
231 
239  template<typename genType>
-
240  GLM_FUNC_DECL GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal);
+
240  GLM_FUNC_DECL constexpr genType clamp(genType x, genType minVal, genType maxVal);
241 
251  template<length_t L, typename T, qualifier Q>
-
252  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal);
+
252  GLM_FUNC_DECL constexpr vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal);
253 
263  template<length_t L, typename T, qualifier Q>
-
264  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal);
+
264  GLM_FUNC_DECL constexpr vec<L, T, Q> clamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal);
265 
308  template<typename genTypeT, typename genTypeU>
-
309  GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
+
309  GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
310 
311  template<length_t L, typename T, typename U, qualifier Q>
-
312  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, U, Q> const& a);
+
312  GLM_FUNC_DECL constexpr vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, U, Q> const& a);
313 
314  template<length_t L, typename T, typename U, qualifier Q>
-
315  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a);
+
315  GLM_FUNC_DECL constexpr vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a);
316 
321  template<typename genType>
322  GLM_FUNC_DECL genType step(genType edge, genType x);
@@ -222,22 +222,22 @@ $(function() {
539 
glm::smoothstep
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
-
glm::abs
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > abs(vec< L, T, Q > const &x)
Returns x if x >= 0; otherwise, it returns -x.
+
glm::abs
GLM_FUNC_DECL constexpr vec< L, T, Q > abs(vec< L, T, Q > const &x)
Returns x if x >= 0; otherwise, it returns -x.
glm::ldexp
GLM_FUNC_DECL genType ldexp(genType const &x, int const &exp)
Builds a floating-point number from x and the corresponding integral exponent of two in exp,...
-
glm::clamp
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
+
glm::clamp
GLM_FUNC_DECL constexpr vec< L, T, Q > clamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
glm::step
GLM_FUNC_DECL vec< L, T, Q > step(vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
Returns 0.0 if x < edge, otherwise it returns 1.0.
-
glm::min
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if y < x; otherwise, it returns x.
+
glm::min
GLM_FUNC_DECL constexpr vec< L, T, Q > min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if y < x; otherwise, it returns x.
glm::frexp
GLM_FUNC_DECL genType frexp(genType x, int &exp)
Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two,...
glm::ceil
GLM_FUNC_DECL vec< L, T, Q > ceil(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
-
glm::sign
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > sign(vec< L, T, Q > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
+
glm::sign
GLM_FUNC_DECL constexpr vec< L, T, Q > sign(vec< L, T, Q > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
glm::round
GLM_FUNC_DECL vec< L, T, Q > round(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
glm::floatBitsToUint
GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint(vec< L, float, Q > const &v)
Returns a unsigned integer value representing the encoding of a floating-point value.
glm::roundEven
GLM_FUNC_DECL vec< L, T, Q > roundEven(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
glm::isinf
GLM_FUNC_DECL vec< L, bool, Q > isinf(vec< L, T, Q > const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
-
glm::max
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if x < y; otherwise, it returns x.
+
glm::max
GLM_FUNC_DECL constexpr vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if x < y; otherwise, it returns x.
glm::exp
GLM_FUNC_DECL vec< L, T, Q > exp(vec< L, T, Q > const &v)
Returns the natural exponentiation of v, i.e., e^v.
glm::modf
GLM_FUNC_DECL genType modf(genType x, genType &i)
Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...
-
glm::mix
GLM_FUNC_DECL GLM_CONSTEXPR genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
+
glm::mix
GLM_FUNC_DECL constexpr genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
glm::floor
GLM_FUNC_DECL vec< L, T, Q > floor(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
glm::isnan
GLM_FUNC_DECL vec< L, bool, Q > isnan(vec< L, T, Q > const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...
glm::fract
GLM_FUNC_DECL vec< L, T, Q > fract(vec< L, T, Q > const &x)
Return x - floor(x).
diff --git a/doc/api/a00014_source.html b/doc/api/a00014_source.html index b3c329df0..b7d9f2572 100644 --- a/doc/api/a00014_source.html +++ b/doc/api/a00014_source.html @@ -880,7 +880,7 @@ $(function() {
808  struct { detail::_swizzle<4, T, Q, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
809  struct { detail::_swizzle<4, T, Q, 3,3,3,3> E3 ## E3 ## E3 ## E3; };
-
glm::e
GLM_FUNC_DECL GLM_CONSTEXPR genType e()
Return e constant.
+
glm::e
GLM_FUNC_DECL constexpr genType e()
Return e constant.