[core] Make vec{2,3,4} operator bool explicit

This commit is contained in:
Bruno de Oliveira Abinader
2016-03-10 21:09:41 +02:00
parent c19cc4aef6
commit 3879bc6a4e
2 changed files with 9 additions and 9 deletions

View File

@@ -85,12 +85,12 @@ struct vec2 {
}
template<typename U = T, typename std::enable_if<std::numeric_limits<U>::has_quiet_NaN, int>::type = 0>
inline operator bool() const {
explicit operator bool() const {
return !std::isnan(x) && !std::isnan(y);
}
template<typename U = T, typename std::enable_if<!std::numeric_limits<U>::has_quiet_NaN, int>::type = 0>
inline operator bool() const {
explicit operator bool() const {
return x != std::numeric_limits<T>::min() && y != std::numeric_limits<T>::min();
}
};
@@ -107,12 +107,12 @@ struct vec3 {
}
template<typename U = T, typename std::enable_if<std::numeric_limits<U>::has_quiet_NaN, int>::type = 0>
inline operator bool() const {
explicit operator bool() const {
return !std::isnan(x) && !std::isnan(y) && !std::isnan(z);
}
template<typename U = T, typename std::enable_if<!std::numeric_limits<U>::has_quiet_NaN, int>::type = 0>
inline operator bool() const {
explicit operator bool() const {
return x != std::numeric_limits<T>::min()
&& y != std::numeric_limits<T>::min()
&& z != std::numeric_limits<T>::min();
@@ -131,12 +131,12 @@ struct vec4 {
}
template<typename U = T, typename std::enable_if<std::numeric_limits<U>::has_quiet_NaN, int>::type = 0>
inline operator bool() const {
explicit operator bool() const {
return !std::isnan(x) && !std::isnan(y) && !std::isnan(z) && !std::isnan(w);
}
template<typename U = T, typename std::enable_if<!std::numeric_limits<U>::has_quiet_NaN, int>::type = 0>
inline operator bool() const {
explicit operator bool() const {
return x != std::numeric_limits<T>::min()
&& y != std::numeric_limits<T>::min()
&& z != std::numeric_limits<T>::min()

View File

@@ -28,7 +28,7 @@ TEST(MergeLines, SameText) {
mbgl::util::mergeLines(input1);
for (int i = 0; i < 6; i++) {
EXPECT_EQ(input1[i].geometry, expected1[i].geometry);
EXPECT_TRUE(input1[i].geometry == expected1[i].geometry);
}
}
@@ -49,7 +49,7 @@ TEST(MergeLines, BothEnds) {
mbgl::util::mergeLines(input2);
for (int i = 0; i < 3; i++) {
EXPECT_EQ(input2[i].geometry, expected2[i].geometry);
EXPECT_TRUE(input2[i].geometry == expected2[i].geometry);
}
}
@@ -70,6 +70,6 @@ TEST(MergeLines, CircularLines) {
mbgl::util::mergeLines(input3);
for (int i = 0; i < 3; i++) {
EXPECT_EQ(input3[i].geometry, expected3[i].geometry);
EXPECT_TRUE(input3[i].geometry == expected3[i].geometry);
}
}