From 76d6aba8f29645cb4cb97315d6a584fc8c6ed8cb Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Mon, 25 Apr 2016 13:58:10 -0700 Subject: [PATCH] [core] Define mbgl::variant (#4833) For parallelism with mbgl::optional, and to avoid exposing namespaces other than `mbgl` in the public API. --- include/mbgl/annotation/shape_annotation.hpp | 5 ++--- src/mbgl/sprite/sprite_parser.hpp | 5 ++--- src/mbgl/style/filter_expression.hpp | 2 +- src/mbgl/style/value.hpp | 4 ++-- src/mbgl/tile/geometry_tile.hpp | 3 +-- src/mbgl/tile/tile_worker.hpp | 5 ++--- src/mbgl/util/variant.hpp | 13 +++++++++++++ src/mbgl/util/worker.hpp | 2 +- 8 files changed, 24 insertions(+), 15 deletions(-) create mode 100644 src/mbgl/util/variant.hpp diff --git a/include/mbgl/annotation/shape_annotation.hpp b/include/mbgl/annotation/shape_annotation.hpp index 121cb7f1d..4d8d35d9c 100644 --- a/include/mbgl/annotation/shape_annotation.hpp +++ b/include/mbgl/annotation/shape_annotation.hpp @@ -5,8 +5,7 @@ #include #include - -#include +#include namespace mbgl { @@ -27,7 +26,7 @@ struct LineAnnotationProperties { class ShapeAnnotation { public: - using Properties = mapbox::util::variant< + using Properties = variant< FillAnnotationProperties, // creates a fill annotation LineAnnotationProperties, // creates a line annotation std::string>; // creates an annotation whose type and properties are sourced from a style layer diff --git a/src/mbgl/sprite/sprite_parser.hpp b/src/mbgl/sprite/sprite_parser.hpp index 36e894799..3244b6e4c 100644 --- a/src/mbgl/sprite/sprite_parser.hpp +++ b/src/mbgl/sprite/sprite_parser.hpp @@ -1,10 +1,9 @@ #ifndef MBGL_SPRITE_PARSER #define MBGL_SPRITE_PARSER -#include - #include #include +#include #include #include @@ -29,7 +28,7 @@ SpriteImagePtr createSpriteImage(const PremultipliedImage&, using Sprites = std::map; -using SpriteParseResult = mapbox::util::variant< +using SpriteParseResult = variant< Sprites, // success std::exception_ptr>; // error diff --git a/src/mbgl/style/filter_expression.hpp b/src/mbgl/style/filter_expression.hpp index cc5bc1a3d..1fa26a69f 100644 --- a/src/mbgl/style/filter_expression.hpp +++ b/src/mbgl/style/filter_expression.hpp @@ -9,7 +9,7 @@ namespace mbgl { -typedef mapbox::util::variant< +typedef variant< struct NullExpression, struct EqualsExpression, struct NotEqualsExpression, diff --git a/src/mbgl/style/value.hpp b/src/mbgl/style/value.hpp index c5be45091..869ddd666 100644 --- a/src/mbgl/style/value.hpp +++ b/src/mbgl/style/value.hpp @@ -1,7 +1,7 @@ #ifndef MBGL_STYLE_VALUE #define MBGL_STYLE_VALUE -#include +#include #include #include @@ -9,7 +9,7 @@ namespace mbgl { -typedef mapbox::util::variant Value; +typedef variant Value; std::string toString(const Value &value); diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp index 7021b7a8b..d6e073e20 100644 --- a/src/mbgl/tile/geometry_tile.hpp +++ b/src/mbgl/tile/geometry_tile.hpp @@ -1,14 +1,13 @@ #ifndef MBGL_MAP_GEOMETRY_TILE #define MBGL_MAP_GEOMETRY_TILE -#include - #include #include #include #include #include #include +#include #include #include diff --git a/src/mbgl/tile/tile_worker.hpp b/src/mbgl/tile/tile_worker.hpp index 08048c134..2943b100a 100644 --- a/src/mbgl/tile/tile_worker.hpp +++ b/src/mbgl/tile/tile_worker.hpp @@ -1,11 +1,10 @@ #ifndef MBGL_MAP_TILE_WORKER #define MBGL_MAP_TILE_WORKER -#include - #include #include #include +#include #include #include @@ -34,7 +33,7 @@ public: std::unordered_map> buckets; }; -using TileParseResult = mapbox::util::variant< +using TileParseResult = variant< TileParseResultBuckets, // success std::exception_ptr>; // error diff --git a/src/mbgl/util/variant.hpp b/src/mbgl/util/variant.hpp new file mode 100644 index 000000000..cf8e57859 --- /dev/null +++ b/src/mbgl/util/variant.hpp @@ -0,0 +1,13 @@ +#ifndef MBGL_UTIL_VARIANT +#define MBGL_UTIL_VARIANT + +#include + +namespace mbgl { + +template +using variant = mapbox::util::variant; + +} // namespace mbgl + +#endif diff --git a/src/mbgl/util/worker.hpp b/src/mbgl/util/worker.hpp index 663046563..0e1a3222c 100644 --- a/src/mbgl/util/worker.hpp +++ b/src/mbgl/util/worker.hpp @@ -14,7 +14,7 @@ class AsyncRequest; class RasterBucket; class GeometryTileLoader; -using RasterTileParseResult = mapbox::util::variant< +using RasterTileParseResult = variant< std::unique_ptr, // success std::exception_ptr>; // error