summaryrefslogtreecommitdiffstats
path: root/mapbox
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2018-10-04 16:01:53 -0700
committerWilliam A. Kennington III <wak@google.com>2018-10-05 15:02:59 -0700
commitb2cb9339f7d963d2b16b8dcf3af5313f996e4eb5 (patch)
treee57aba51e75dd3872cea0808e4ccdca07ea3fb00 /mapbox
parent20adbc2d459123772ecd2d17009e1db0dd6314f2 (diff)
downloadsdbusplus-b2cb9339f7d963d2b16b8dcf3af5313f996e4eb5.tar.gz
sdbusplus-b2cb9339f7d963d2b16b8dcf3af5313f996e4eb5.zip
mapbox/variant: Align API with std::variant
Tested: Builds and unit tests still pass. Manually tested that has_alternative works as expected. Change-Id: Iae8309c09a6aac6b9b12164d5fe7ae4e484cb905 Signed-off-by: William A. Kennington III <wak@google.com>
Diffstat (limited to 'mapbox')
-rw-r--r--mapbox/variant.hpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/mapbox/variant.hpp b/mapbox/variant.hpp
index 14fe75c..9f039bc 100644
--- a/mapbox/variant.hpp
+++ b/mapbox/variant.hpp
@@ -1079,6 +1079,16 @@ auto VARIANT_INLINE apply_visitor(F&& f, V& v0, V& v1)
return V::binary_visit(v0, v1, std::forward<F>(f));
}
+// is interface
+
+#ifdef HAS_EXCEPTIONS
+template <typename ResultType, typename T>
+auto holds_alternative(T const& var) -> decltype(var.template is<ResultType>())
+{
+ return var.template is<ResultType>();
+}
+#endif
+
// getter interface
#ifdef HAS_EXCEPTIONS
OpenPOWER on IntegriCloud