From 251ad15b688410a81bf99e0a4bac98c67c9cdab3 Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sat, 5 Mar 2016 23:01:01 +0100 Subject: [PATCH] Improved GLM_FORCE_EXPLICIT_CTOR coverage #481 --- glm/detail/type_mat2x2.hpp | 16 ++++++++-------- glm/detail/type_mat2x3.hpp | 16 ++++++++-------- glm/detail/type_mat2x4.hpp | 16 ++++++++-------- glm/detail/type_mat3x2.hpp | 16 ++++++++-------- glm/detail/type_mat3x3.hpp | 16 ++++++++-------- glm/detail/type_mat3x4.hpp | 16 ++++++++-------- glm/detail/type_mat4x2.hpp | 16 ++++++++-------- glm/detail/type_mat4x3.hpp | 16 ++++++++-------- glm/detail/type_mat4x4.hpp | 16 ++++++++-------- glm/detail/type_vec1.hpp | 6 +++--- glm/detail/type_vec2.hpp | 4 ++-- glm/detail/type_vec3.hpp | 10 +++++----- glm/detail/type_vec4.hpp | 22 +++++++++++----------- glm/gtc/quaternion.hpp | 10 +++++----- glm/gtx/dual_quaternion.hpp | 6 +++--- readme.md | 1 + 16 files changed, 102 insertions(+), 101 deletions(-) diff --git a/glm/detail/type_mat2x2.hpp b/glm/detail/type_mat2x2.hpp index 9df68720..a263d54d 100644 --- a/glm/detail/type_mat2x2.hpp +++ b/glm/detail/type_mat2x2.hpp @@ -102,14 +102,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat2x2 const & m); - GLM_FUNC_DECL explicit tmat2x2(tmat3x3 const & x); - GLM_FUNC_DECL explicit tmat2x2(tmat4x4 const & x); - GLM_FUNC_DECL explicit tmat2x2(tmat2x3 const & x); - GLM_FUNC_DECL explicit tmat2x2(tmat3x2 const & x); - GLM_FUNC_DECL explicit tmat2x2(tmat2x4 const & x); - GLM_FUNC_DECL explicit tmat2x2(tmat4x2 const & x); - GLM_FUNC_DECL explicit tmat2x2(tmat3x4 const & x); - GLM_FUNC_DECL explicit tmat2x2(tmat4x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat3x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat4x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat2x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat3x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat2x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat4x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat3x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x2(tmat4x3 const & x); // -- Accesses -- diff --git a/glm/detail/type_mat2x3.hpp b/glm/detail/type_mat2x3.hpp index 493548f4..7fc67faa 100644 --- a/glm/detail/type_mat2x3.hpp +++ b/glm/detail/type_mat2x3.hpp @@ -99,14 +99,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x3 const & m); - GLM_FUNC_DECL explicit tmat2x3(tmat2x2 const & x); - GLM_FUNC_DECL explicit tmat2x3(tmat3x3 const & x); - GLM_FUNC_DECL explicit tmat2x3(tmat4x4 const & x); - GLM_FUNC_DECL explicit tmat2x3(tmat2x4 const & x); - GLM_FUNC_DECL explicit tmat2x3(tmat3x2 const & x); - GLM_FUNC_DECL explicit tmat2x3(tmat3x4 const & x); - GLM_FUNC_DECL explicit tmat2x3(tmat4x2 const & x); - GLM_FUNC_DECL explicit tmat2x3(tmat4x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat2x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat3x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x3(tmat4x3 const & x); // -- Accesses -- diff --git a/glm/detail/type_mat2x4.hpp b/glm/detail/type_mat2x4.hpp index e15714ca..c27243fd 100644 --- a/glm/detail/type_mat2x4.hpp +++ b/glm/detail/type_mat2x4.hpp @@ -101,14 +101,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat2x4 const & m); - GLM_FUNC_DECL explicit tmat2x4(tmat2x2 const & x); - GLM_FUNC_DECL explicit tmat2x4(tmat3x3 const & x); - GLM_FUNC_DECL explicit tmat2x4(tmat4x4 const & x); - GLM_FUNC_DECL explicit tmat2x4(tmat2x3 const & x); - GLM_FUNC_DECL explicit tmat2x4(tmat3x2 const & x); - GLM_FUNC_DECL explicit tmat2x4(tmat3x4 const & x); - GLM_FUNC_DECL explicit tmat2x4(tmat4x2 const & x); - GLM_FUNC_DECL explicit tmat2x4(tmat4x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat2x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat3x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat4x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat2x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat3x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat3x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat4x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat2x4(tmat4x3 const & x); // -- Accesses -- diff --git a/glm/detail/type_mat3x2.hpp b/glm/detail/type_mat3x2.hpp index 63e0a659..2f594bb1 100644 --- a/glm/detail/type_mat3x2.hpp +++ b/glm/detail/type_mat3x2.hpp @@ -106,14 +106,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat3x2 const & m); - GLM_FUNC_DECL explicit tmat3x2(tmat2x2 const & x); - GLM_FUNC_DECL explicit tmat3x2(tmat3x3 const & x); - GLM_FUNC_DECL explicit tmat3x2(tmat4x4 const & x); - GLM_FUNC_DECL explicit tmat3x2(tmat2x3 const & x); - GLM_FUNC_DECL explicit tmat3x2(tmat2x4 const & x); - GLM_FUNC_DECL explicit tmat3x2(tmat3x4 const & x); - GLM_FUNC_DECL explicit tmat3x2(tmat4x2 const & x); - GLM_FUNC_DECL explicit tmat3x2(tmat4x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat2x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat3x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat4x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat2x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat2x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat3x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat4x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x2(tmat4x3 const & x); // -- Accesses -- diff --git a/glm/detail/type_mat3x3.hpp b/glm/detail/type_mat3x3.hpp index 799d645d..2aaae21e 100644 --- a/glm/detail/type_mat3x3.hpp +++ b/glm/detail/type_mat3x3.hpp @@ -110,14 +110,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat3x3 const & m); - GLM_FUNC_DECL explicit tmat3x3(tmat2x2 const & x); - GLM_FUNC_DECL explicit tmat3x3(tmat4x4 const & x); - GLM_FUNC_DECL explicit tmat3x3(tmat2x3 const & x); - GLM_FUNC_DECL explicit tmat3x3(tmat3x2 const & x); - GLM_FUNC_DECL explicit tmat3x3(tmat2x4 const & x); - GLM_FUNC_DECL explicit tmat3x3(tmat4x2 const & x); - GLM_FUNC_DECL explicit tmat3x3(tmat3x4 const & x); - GLM_FUNC_DECL explicit tmat3x3(tmat4x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat2x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat4x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat2x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat3x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat2x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat4x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat3x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x3(tmat4x3 const & x); // -- Accesses -- diff --git a/glm/detail/type_mat3x4.hpp b/glm/detail/type_mat3x4.hpp index 7453673b..6b5c1dbe 100644 --- a/glm/detail/type_mat3x4.hpp +++ b/glm/detail/type_mat3x4.hpp @@ -106,14 +106,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat3x4 const & m); - GLM_FUNC_DECL explicit tmat3x4(tmat2x2 const & x); - GLM_FUNC_DECL explicit tmat3x4(tmat3x3 const & x); - GLM_FUNC_DECL explicit tmat3x4(tmat4x4 const & x); - GLM_FUNC_DECL explicit tmat3x4(tmat2x3 const & x); - GLM_FUNC_DECL explicit tmat3x4(tmat3x2 const & x); - GLM_FUNC_DECL explicit tmat3x4(tmat2x4 const & x); - GLM_FUNC_DECL explicit tmat3x4(tmat4x2 const & x); - GLM_FUNC_DECL explicit tmat3x4(tmat4x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat2x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat3x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat4x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat2x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat3x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat2x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat4x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat3x4(tmat4x3 const & x); // -- Accesses -- diff --git a/glm/detail/type_mat4x2.hpp b/glm/detail/type_mat4x2.hpp index 8cb7d70e..a52675b8 100644 --- a/glm/detail/type_mat4x2.hpp +++ b/glm/detail/type_mat4x2.hpp @@ -111,14 +111,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat4x2 const & m); - GLM_FUNC_DECL explicit tmat4x2(tmat2x2 const & x); - GLM_FUNC_DECL explicit tmat4x2(tmat3x3 const & x); - GLM_FUNC_DECL explicit tmat4x2(tmat4x4 const & x); - GLM_FUNC_DECL explicit tmat4x2(tmat2x3 const & x); - GLM_FUNC_DECL explicit tmat4x2(tmat3x2 const & x); - GLM_FUNC_DECL explicit tmat4x2(tmat2x4 const & x); - GLM_FUNC_DECL explicit tmat4x2(tmat4x3 const & x); - GLM_FUNC_DECL explicit tmat4x2(tmat3x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat2x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat3x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat4x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat2x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat3x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat2x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat4x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x2(tmat3x4 const & x); // -- Accesses -- diff --git a/glm/detail/type_mat4x3.hpp b/glm/detail/type_mat4x3.hpp index 0a5de95b..9ee26169 100644 --- a/glm/detail/type_mat4x3.hpp +++ b/glm/detail/type_mat4x3.hpp @@ -111,14 +111,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat4x3 const & m); - GLM_FUNC_DECL explicit tmat4x3(tmat2x2 const & x); - GLM_FUNC_DECL explicit tmat4x3(tmat3x3 const & x); - GLM_FUNC_DECL explicit tmat4x3(tmat4x4 const & x); - GLM_FUNC_DECL explicit tmat4x3(tmat2x3 const & x); - GLM_FUNC_DECL explicit tmat4x3(tmat3x2 const & x); - GLM_FUNC_DECL explicit tmat4x3(tmat2x4 const & x); - GLM_FUNC_DECL explicit tmat4x3(tmat4x2 const & x); - GLM_FUNC_DECL explicit tmat4x3(tmat3x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat2x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat3x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat4x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat2x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat3x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat2x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat4x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x3(tmat3x4 const & x); // -- Accesses -- diff --git a/glm/detail/type_mat4x4.hpp b/glm/detail/type_mat4x4.hpp index a90a5978..bb5fba0b 100644 --- a/glm/detail/type_mat4x4.hpp +++ b/glm/detail/type_mat4x4.hpp @@ -115,14 +115,14 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat4x4 const & m); - GLM_FUNC_DECL explicit tmat4x4(tmat2x2 const & x); - GLM_FUNC_DECL explicit tmat4x4(tmat3x3 const & x); - GLM_FUNC_DECL explicit tmat4x4(tmat2x3 const & x); - GLM_FUNC_DECL explicit tmat4x4(tmat3x2 const & x); - GLM_FUNC_DECL explicit tmat4x4(tmat2x4 const & x); - GLM_FUNC_DECL explicit tmat4x4(tmat4x2 const & x); - GLM_FUNC_DECL explicit tmat4x4(tmat3x4 const & x); - GLM_FUNC_DECL explicit tmat4x4(tmat4x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat2x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat3x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat2x3 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat3x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat2x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat4x2 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat3x4 const & x); + GLM_FUNC_DECL GLM_EXPLICIT tmat4x4(tmat4x3 const & x); // -- Accesses -- diff --git a/glm/detail/type_vec1.hpp b/glm/detail/type_vec1.hpp index 833468d8..2e811a36 100644 --- a/glm/detail/type_vec1.hpp +++ b/glm/detail/type_vec1.hpp @@ -126,13 +126,13 @@ namespace glm /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec1(tvec2 const & v); + GLM_FUNC_DECL GLM_EXPLICIT tvec1(tvec2 const & v); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec1(tvec3 const & v); + GLM_FUNC_DECL GLM_EXPLICIT tvec1(tvec3 const & v); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec1(tvec4 const & v); + GLM_FUNC_DECL GLM_EXPLICIT tvec1(tvec4 const & v); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template diff --git a/glm/detail/type_vec2.hpp b/glm/detail/type_vec2.hpp index 1d857ac7..13c5d05f 100644 --- a/glm/detail/type_vec2.hpp +++ b/glm/detail/type_vec2.hpp @@ -138,10 +138,10 @@ namespace glm /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec2(tvec3 const & v); + GLM_FUNC_DECL GLM_EXPLICIT tvec2(tvec3 const & v); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec2(tvec4 const & v); + GLM_FUNC_DECL GLM_EXPLICIT tvec2(tvec4 const & v); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template diff --git a/glm/detail/type_vec3.hpp b/glm/detail/type_vec3.hpp index d4d8ff6a..72d32286 100644 --- a/glm/detail/type_vec3.hpp +++ b/glm/detail/type_vec3.hpp @@ -143,19 +143,19 @@ namespace glm /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec3(tvec2 const & a, B const & b); + GLM_FUNC_DECL tvec3(tvec2 const & a, B const & b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec3(tvec2 const & a, tvec1 const & b); + GLM_FUNC_DECL tvec3(tvec2 const & a, tvec1 const & b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec3(A const & a, tvec2 const & b); + GLM_FUNC_DECL tvec3(A const & a, tvec2 const & b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec3(tvec1 const & a, tvec2 const & b); + GLM_FUNC_DECL tvec3(tvec1 const & a, tvec2 const & b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec3(tvec4 const & v); + GLM_FUNC_DECL GLM_EXPLICIT tvec3(tvec4 const & v); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template diff --git a/glm/detail/type_vec4.hpp b/glm/detail/type_vec4.hpp index f26350c6..5ff33e07 100644 --- a/glm/detail/type_vec4.hpp +++ b/glm/detail/type_vec4.hpp @@ -208,37 +208,37 @@ namespace detail /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(tvec2 const & a, B b, C c); + GLM_FUNC_DECL tvec4(tvec2 const & a, B b, C c); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(tvec2 const & a, tvec1 const & b, tvec1 const & c); + GLM_FUNC_DECL tvec4(tvec2 const & a, tvec1 const & b, tvec1 const & c); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(A a, tvec2 const & b, C c); + GLM_FUNC_DECL tvec4(A a, tvec2 const & b, C c); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(tvec1 const & a, tvec2 const & b, tvec1 const & c); + GLM_FUNC_DECL tvec4(tvec1 const & a, tvec2 const & b, tvec1 const & c); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(A a, B b, tvec2 const & c); + GLM_FUNC_DECL tvec4(A a, B b, tvec2 const & c); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(tvec1 const & a, tvec1 const & b, tvec2 const & c); + GLM_FUNC_DECL tvec4(tvec1 const & a, tvec1 const & b, tvec2 const & c); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(tvec3 const & a, B b); + GLM_FUNC_DECL tvec4(tvec3 const & a, B b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(tvec3 const & a, tvec1 const & b); + GLM_FUNC_DECL tvec4(tvec3 const & a, tvec1 const & b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(A a, tvec3 const & b); + GLM_FUNC_DECL tvec4(A a, tvec3 const & b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(tvec1 const & a, tvec3 const & b); + GLM_FUNC_DECL tvec4(tvec1 const & a, tvec3 const & b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template - GLM_FUNC_DECL explicit tvec4(tvec2 const & a, tvec2 const & b); + GLM_FUNC_DECL tvec4(tvec2 const & a, tvec2 const & b); /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) template diff --git a/glm/gtc/quaternion.hpp b/glm/gtc/quaternion.hpp index daf9cc19..9a6817fa 100644 --- a/glm/gtc/quaternion.hpp +++ b/glm/gtc/quaternion.hpp @@ -124,7 +124,7 @@ namespace glm // -- Explicit basic constructors -- GLM_FUNC_DECL explicit tquat(ctor); - GLM_FUNC_DECL explicit tquat(T const & s, tvec3 const & v); + GLM_FUNC_DECL tquat(T const & s, tvec3 const & v); GLM_FUNC_DECL tquat(T const & w, T const & x, T const & y, T const & z); // -- Conversion constructors -- @@ -144,12 +144,12 @@ namespace glm /// @param v A second normalized axis /// @see gtc_quaternion /// @see http://lolengine.net/blog/2013/09/18/beautiful-maths-quaternion-from-vectors - GLM_FUNC_DECL explicit tquat(tvec3 const & u, tvec3 const & v); + GLM_FUNC_DECL tquat(tvec3 const & u, tvec3 const & v); /// Build a quaternion from euler angles (pitch, yaw, roll), in radians. - GLM_FUNC_DECL explicit tquat(tvec3 const & eulerAngles); - GLM_FUNC_DECL explicit tquat(tmat3x3 const & m); - GLM_FUNC_DECL explicit tquat(tmat4x4 const & m); + GLM_FUNC_DECL GLM_EXPLICIT tquat(tvec3 const & eulerAngles); + GLM_FUNC_DECL GLM_EXPLICIT tquat(tmat3x3 const & m); + GLM_FUNC_DECL GLM_EXPLICIT tquat(tmat4x4 const & m); // -- Unary arithmetic operators -- diff --git a/glm/gtx/dual_quaternion.hpp b/glm/gtx/dual_quaternion.hpp index c62fcda4..35a5d850 100644 --- a/glm/gtx/dual_quaternion.hpp +++ b/glm/gtx/dual_quaternion.hpp @@ -103,7 +103,7 @@ namespace glm // -- Explicit basic constructors -- GLM_FUNC_DECL explicit tdualquat(ctor); - GLM_FUNC_DECL explicit tdualquat(tquat const & real); + GLM_FUNC_DECL tdualquat(tquat const & real); GLM_FUNC_DECL tdualquat(tquat const & orientation, tvec3 const & translation); GLM_FUNC_DECL tdualquat(tquat const & real, tquat const & dual); @@ -112,8 +112,8 @@ namespace glm template GLM_FUNC_DECL GLM_EXPLICIT tdualquat(tdualquat const & q); - GLM_FUNC_DECL explicit tdualquat(tmat2x4 const & holder_mat); - GLM_FUNC_DECL explicit tdualquat(tmat3x4 const & aug_mat); + GLM_FUNC_DECL GLM_EXPLICIT tdualquat(tmat2x4 const & holder_mat); + GLM_FUNC_DECL GLM_EXPLICIT tdualquat(tmat3x4 const & aug_mat); // -- Unary arithmetic operators -- diff --git a/readme.md b/readme.md index 44b02dda..17a7a1cc 100644 --- a/readme.md +++ b/readme.md @@ -64,6 +64,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) ##### Improvements: - Improved GTC_random linearRand documentation - Improved GTC_reciprocal documentation +- Improved GLM_FORCE_EXPLICIT_CTOR coverage #481 ##### Fixes: - Fixed GTX_extended_min_max filename typo #386