mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-26 18:12:41 +00:00
Fixed move constructor in generated union class (#4192)
* Fixed move constructor in generated union class * Removed delegating constructor
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
695d26183a
commit
17c5f89d4f
@@ -75,7 +75,8 @@ struct EquipmentUnion {
|
|||||||
|
|
||||||
EquipmentUnion() : type(Equipment_NONE), table(nullptr) {}
|
EquipmentUnion() : type(Equipment_NONE), table(nullptr) {}
|
||||||
EquipmentUnion(EquipmentUnion&& u):
|
EquipmentUnion(EquipmentUnion&& u):
|
||||||
type(std::move(u.type)), table(std::move(u.table)) {}
|
type(Equipment_NONE), table(nullptr)
|
||||||
|
{ std::swap(type, u.type); std::swap(table, u.table); }
|
||||||
EquipmentUnion(const EquipmentUnion &);
|
EquipmentUnion(const EquipmentUnion &);
|
||||||
EquipmentUnion &operator=(const EquipmentUnion &);
|
EquipmentUnion &operator=(const EquipmentUnion &);
|
||||||
~EquipmentUnion() { Reset(); }
|
~EquipmentUnion() { Reset(); }
|
||||||
|
|||||||
@@ -652,7 +652,8 @@ class CppGenerator : public BaseGenerator {
|
|||||||
code_ += "";
|
code_ += "";
|
||||||
code_ += " {{NAME}}Union() : type({{NONE}}), table(nullptr) {}";
|
code_ += " {{NAME}}Union() : type({{NONE}}), table(nullptr) {}";
|
||||||
code_ += " {{NAME}}Union({{NAME}}Union&& u):";
|
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(const {{NAME}}Union &);";
|
||||||
code_ += " {{NAME}}Union &operator=(const {{NAME}}Union &);";
|
code_ += " {{NAME}}Union &operator=(const {{NAME}}Union &);";
|
||||||
code_ += " ~{{NAME}}Union() { Reset(); }";
|
code_ += " ~{{NAME}}Union() { Reset(); }";
|
||||||
|
|||||||
@@ -104,7 +104,8 @@ struct AnyUnion {
|
|||||||
|
|
||||||
AnyUnion() : type(Any_NONE), table(nullptr) {}
|
AnyUnion() : type(Any_NONE), table(nullptr) {}
|
||||||
AnyUnion(AnyUnion&& u):
|
AnyUnion(AnyUnion&& u):
|
||||||
type(std::move(u.type)), table(std::move(u.table)) {}
|
type(Any_NONE), table(nullptr)
|
||||||
|
{ std::swap(type, u.type); std::swap(table, u.table); }
|
||||||
AnyUnion(const AnyUnion &);
|
AnyUnion(const AnyUnion &);
|
||||||
AnyUnion &operator=(const AnyUnion &);
|
AnyUnion &operator=(const AnyUnion &);
|
||||||
~AnyUnion() { Reset(); }
|
~AnyUnion() { Reset(); }
|
||||||
|
|||||||
Reference in New Issue
Block a user