summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-06-17 12:18:39 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-06-18 20:23:00 +0300
commit41497e9c4174d310f3a62548f3cfeb9da2852849 (patch)
treeae3e0fc54f10cba24f61bf22c440d45c87c9441a /include
parent0006c9c27542da2f262e7bc105999f3072e4b6f2 (diff)
downloadqtlocation-mapboxgl-41497e9c4174d310f3a62548f3cfeb9da2852849.tar.gz
[core] Cleaned up enum classes
- Replaced static_cast with C++ casts. - Replaced inline with constexpr.
Diffstat (limited to 'include')
-rw-r--r--include/mbgl/map/mode.hpp15
-rw-r--r--include/mbgl/map/update.hpp9
-rw-r--r--include/mbgl/util/geo.hpp14
-rw-r--r--include/mbgl/util/traits.hpp4
4 files changed, 21 insertions, 21 deletions
diff --git a/include/mbgl/map/mode.hpp b/include/mbgl/map/mode.hpp
index 074bc3f08e..80ba4d7563 100644
--- a/include/mbgl/map/mode.hpp
+++ b/include/mbgl/map/mode.hpp
@@ -1,5 +1,7 @@
#pragma once
+#include <mbgl/util/traits.hpp>
+
#include <cstdint>
namespace mbgl {
@@ -48,17 +50,16 @@ enum class MapDebugOptions : EnumType {
#endif // GL_ES_VERSION_2_0
};
-inline MapDebugOptions operator| (const MapDebugOptions& lhs, const MapDebugOptions& rhs) {
- return MapDebugOptions(static_cast<EnumType>(lhs) | static_cast<EnumType>(rhs));
+constexpr MapDebugOptions operator|(MapDebugOptions lhs, MapDebugOptions rhs) {
+ return MapDebugOptions(mbgl::underlying_type(lhs) | mbgl::underlying_type(rhs));
}
-inline MapDebugOptions& operator|=(MapDebugOptions& lhs, const MapDebugOptions& rhs) {
- lhs = lhs | rhs;
- return lhs;
+constexpr MapDebugOptions& operator|=(MapDebugOptions& lhs, MapDebugOptions rhs) {
+ return (lhs = lhs | rhs);
}
-inline bool operator& (const MapDebugOptions& lhs, const MapDebugOptions& rhs) {
- return static_cast<EnumType>(lhs) & static_cast<EnumType>(rhs);
+constexpr bool operator&(MapDebugOptions lhs, MapDebugOptions rhs) {
+ return mbgl::underlying_type(lhs) & mbgl::underlying_type(rhs);
}
} // namespace mbgl
diff --git a/include/mbgl/map/update.hpp b/include/mbgl/map/update.hpp
index 1c1270ac70..36ce59c01d 100644
--- a/include/mbgl/map/update.hpp
+++ b/include/mbgl/map/update.hpp
@@ -17,16 +17,15 @@ enum class Update : uint8_t {
AnnotationData = 1 << 7,
};
-inline Update operator| (const Update& lhs, const Update& rhs) {
+constexpr Update operator|(Update lhs, Update rhs) {
return Update(mbgl::underlying_type(lhs) | mbgl::underlying_type(rhs));
}
-inline Update& operator|=(Update& lhs, const Update& rhs) {
- lhs = lhs | rhs;
- return lhs;
+constexpr Update& operator|=(Update& lhs, const Update& rhs) {
+ return (lhs = lhs | rhs);
}
-inline bool operator& (const Update& lhs, const Update& rhs) {
+constexpr bool operator& (Update lhs, Update rhs) {
return mbgl::underlying_type(lhs) & mbgl::underlying_type(rhs);
}
diff --git a/include/mbgl/util/geo.hpp b/include/mbgl/util/geo.hpp
index 4af8906465..a68058048d 100644
--- a/include/mbgl/util/geo.hpp
+++ b/include/mbgl/util/geo.hpp
@@ -57,11 +57,11 @@ public:
LatLng(const UnwrappedTileID& id);
};
-inline bool operator==(const LatLng& a, const LatLng& b) {
+constexpr bool operator==(const LatLng& a, const LatLng& b) {
return a.latitude == b.latitude && a.longitude == b.longitude;
}
-inline bool operator!=(const LatLng& a, const LatLng& b) {
+constexpr bool operator!=(const LatLng& a, const LatLng& b) {
return !(a == b);
}
@@ -78,7 +78,7 @@ public:
}
};
-inline bool operator==(const ProjectedMeters& a, const ProjectedMeters& b) {
+constexpr bool operator==(const ProjectedMeters& a, const ProjectedMeters& b) {
return a.northing == b.northing && a.easting == b.easting;
}
@@ -164,15 +164,15 @@ private:
LatLngBounds(LatLng sw_, LatLng ne_)
: sw(std::move(sw_)), ne(std::move(ne_)) {}
- friend bool operator==(const LatLngBounds&, const LatLngBounds&);
- friend bool operator!=(const LatLngBounds&, const LatLngBounds&);
+ friend constexpr bool operator==(const LatLngBounds&, const LatLngBounds&);
+ friend constexpr bool operator!=(const LatLngBounds&, const LatLngBounds&);
};
-inline bool operator==(const LatLngBounds& a, const LatLngBounds& b) {
+constexpr bool operator==(const LatLngBounds& a, const LatLngBounds& b) {
return a.sw == b.sw && a.ne == b.ne;
}
-inline bool operator!=(const LatLngBounds& a, const LatLngBounds& b) {
+constexpr bool operator!=(const LatLngBounds& a, const LatLngBounds& b) {
return !(a == b);
}
diff --git a/include/mbgl/util/traits.hpp b/include/mbgl/util/traits.hpp
index 7c9499897e..9d6f947cd2 100644
--- a/include/mbgl/util/traits.hpp
+++ b/include/mbgl/util/traits.hpp
@@ -5,8 +5,8 @@
namespace mbgl {
template<typename T>
-constexpr auto underlying_type(T t) -> typename std::underlying_type<T>::type {
- return static_cast<typename std::underlying_type<T>::type>(t);
+constexpr auto underlying_type(T t) -> typename std::underlying_type_t<T> {
+ return typename std::underlying_type_t<T>(t);
}
} // namespace mbgl