[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/3] variants: minor improvements
From: |
Theophile Ranquet |
Subject: |
[PATCH 2/3] variants: minor improvements |
Date: |
Fri, 4 Jan 2013 13:55:23 +0100 |
* data/variant.hh (swap): More asserts can't hurt.
(variant): Prohibit copy construction.
diff --git a/data/variant.hh b/data/variant.hh
index 1ebcfe8..afa825e 100644
--- a/data/variant.hh
+++ b/data/variant.hh
@@ -165,6 +165,8 @@ m4_define([b4_variant_define],
inline void
swap (variant<S>& other)
{]b4_parse_assert_if([
+ YYASSERT (built);
+ YYASSERT (other.built);
YYASSERT (tname == other.tname);])[
std::swap (as<T>(), other.as<T>());]b4_parse_assert_if([
std::swap (built, other.built);
@@ -208,6 +210,11 @@ m4_define([b4_variant_define],
abort ();
}
+ variant (const self_type&)
+ {
+ abort ();
+ }
+
private:
/// A buffer large enough to store any of the semantic values.
/// Long double is chosen as it has the strongest alignment
--
1.8.1