diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-06-25 13:36:45 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-06-25 13:36:45 +0100 |
| commit | d207d13b68a2785cf3829b4b19ad3f2bc4fbb358 (patch) | |
| tree | 0f8aa1dd500d1321fb36497ad5bb5e4babaf4a6f /src/optional.hh | |
| parent | cc09c36fe0f6c52ea0dfde0e095118ffa7235a50 (diff) | |
Avoid unneeded default constructor call in Optional
Diffstat (limited to 'src/optional.hh')
| -rw-r--r-- | src/optional.hh | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/optional.hh b/src/optional.hh index 67b2352a..cdc7d100 100644 --- a/src/optional.hh +++ b/src/optional.hh @@ -80,7 +80,11 @@ public: private: void destruct_ifn() { if (m_valid) m_value.~T(); } - union { T m_value; }; + union + { + struct {} m_empty; // disable default construction of value + T m_value; + }; bool m_valid; }; |
