diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-07-11 15:11:14 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-07-12 20:42:29 +0300 |
commit | f1ac757bd28351fd57113a1e16f6c2e00ab193c1 (patch) | |
tree | a68be48a2c6934c11fbda3efbc6077c45e703906 /include | |
parent | 1aacc88f350d2d54337cdacb1a653785c759586b (diff) | |
download | qtlocation-mapboxgl-f1ac757bd28351fd57113a1e16f6c2e00ab193c1.tar.gz |
[core] GCC 4.9 does not fully support custom variable templates
Diffstat (limited to 'include')
-rw-r--r-- | include/mbgl/style/conversion/function.hpp | 2 | ||||
-rw-r--r-- | include/mbgl/style/function/camera_function.hpp | 2 | ||||
-rw-r--r-- | include/mbgl/style/function/composite_function.hpp | 4 | ||||
-rw-r--r-- | include/mbgl/style/function/source_function.hpp | 2 | ||||
-rw-r--r-- | include/mbgl/util/indexed_tuple.hpp | 7 | ||||
-rw-r--r-- | include/mbgl/util/interpolate.hpp | 6 |
6 files changed, 12 insertions, 11 deletions
diff --git a/include/mbgl/style/conversion/function.hpp b/include/mbgl/style/conversion/function.hpp index bf5b27a9a6..752b6dd045 100644 --- a/include/mbgl/style/conversion/function.hpp +++ b/include/mbgl/style/conversion/function.hpp @@ -156,7 +156,7 @@ struct StopsConverter<T, variant<Ts...>> { public: template <class V> optional<variant<Ts...>> operator()(const V& value, Error& error) const { - std::string type = util::Interpolatable<T> ? "exponential" : "interval"; + std::string type = util::Interpolatable<T>::value ? "exponential" : "interval"; auto typeValue = objectMember(value, "type"); if (typeValue && toString(*typeValue)) { diff --git a/include/mbgl/style/function/camera_function.hpp b/include/mbgl/style/function/camera_function.hpp index 0fd5bcb078..7fde365b3d 100644 --- a/include/mbgl/style/function/camera_function.hpp +++ b/include/mbgl/style/function/camera_function.hpp @@ -12,7 +12,7 @@ template <class T> class CameraFunction { public: using Stops = std::conditional_t< - util::Interpolatable<T>, + util::Interpolatable<T>::value, variant< ExponentialStops<T>, IntervalStops<T>>, diff --git a/include/mbgl/style/function/composite_function.hpp b/include/mbgl/style/function/composite_function.hpp index 43599cd333..7b524b6021 100644 --- a/include/mbgl/style/function/composite_function.hpp +++ b/include/mbgl/style/function/composite_function.hpp @@ -24,7 +24,7 @@ template <class T> class CompositeFunction { public: using InnerStops = std::conditional_t< - util::Interpolatable<T>, + util::Interpolatable<T>::value, variant< ExponentialStops<T>, IntervalStops<T>, @@ -34,7 +34,7 @@ public: CategoricalStops<T>>>; using Stops = std::conditional_t< - util::Interpolatable<T>, + util::Interpolatable<T>::value, variant< CompositeExponentialStops<T>, CompositeIntervalStops<T>, diff --git a/include/mbgl/style/function/source_function.hpp b/include/mbgl/style/function/source_function.hpp index 2872c63a64..9c2ad101ec 100644 --- a/include/mbgl/style/function/source_function.hpp +++ b/include/mbgl/style/function/source_function.hpp @@ -16,7 +16,7 @@ template <class T> class SourceFunction { public: using Stops = std::conditional_t< - util::Interpolatable<T>, + util::Interpolatable<T>::value, variant< ExponentialStops<T>, IntervalStops<T>, diff --git a/include/mbgl/util/indexed_tuple.hpp b/include/mbgl/util/indexed_tuple.hpp index a414639530..fd0b931d36 100644 --- a/include/mbgl/util/indexed_tuple.hpp +++ b/include/mbgl/util/indexed_tuple.hpp @@ -31,16 +31,13 @@ public: using std::tuple<Ts...>::tuple; template <class I> - static constexpr std::size_t Index = TypeIndex<I, Is...>::value; - - template <class I> auto& get() { - return std::get<Index<I>>(*this); + return std::get<TypeIndex<I, Is...>::value>(*this); } template <class I> const auto& get() const { - return std::get<Index<I>>(*this); + return std::get<TypeIndex<I, Is...>::value>(*this); } template <class... Js, class... Us> diff --git a/include/mbgl/util/interpolate.hpp b/include/mbgl/util/interpolate.hpp index a2103f18b2..6738987598 100644 --- a/include/mbgl/util/interpolate.hpp +++ b/include/mbgl/util/interpolate.hpp @@ -95,7 +95,11 @@ struct Interpolator<std::vector<T>> : Uninterpolated {}; template <class T> -constexpr bool Interpolatable = !std::is_base_of<Uninterpolated, Interpolator<T>>::value; +struct Interpolatable + : std::conditional_t< + !std::is_base_of<Uninterpolated, Interpolator<T>>::value, + std::true_type, + std::false_type> {}; } // namespace util } // namespace mbgl |