diff options
author | William A. Kennington III <wak@google.com> | 2018-10-04 16:01:53 -0700 |
---|---|---|
committer | William A. Kennington III <wak@google.com> | 2018-10-05 15:02:59 -0700 |
commit | b2cb9339f7d963d2b16b8dcf3af5313f996e4eb5 (patch) | |
tree | e57aba51e75dd3872cea0808e4ccdca07ea3fb00 /mapbox | |
parent | 20adbc2d459123772ecd2d17009e1db0dd6314f2 (diff) | |
download | sdbusplus-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.hpp | 10 |
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 |