Fixed move constructor in generated union class (#4192)

* Fixed move constructor in generated union class

* Removed delegating constructor
This commit is contained in:
Andrei Lebedev
2017-02-26 10:06:48 +04:00
committed by Wouter van Oortmerssen
parent 695d26183a
commit 17c5f89d4f
3 changed files with 6 additions and 3 deletions

View File

@@ -652,7 +652,8 @@ class CppGenerator : public BaseGenerator {
code_ += "";
code_ += " {{NAME}}Union() : type({{NONE}}), table(nullptr) {}";
code_ += " {{NAME}}Union({{NAME}}Union&& u):";
code_ += " type(std::move(u.type)), table(std::move(u.table)) {}";
code_ += " type({{NONE}}), table(nullptr)";
code_ += " { std::swap(type, u.type); std::swap(table, u.table); }";
code_ += " {{NAME}}Union(const {{NAME}}Union &);";
code_ += " {{NAME}}Union &operator=(const {{NAME}}Union &);";
code_ += " ~{{NAME}}Union() { Reset(); }";