mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-06 05:27:24 +00:00
[C++]Use noexcept in union type move ctor/Add move assingment (#4249)
* Use noexcept in union type move ctor/Add move assingment * Add NOEXCEPT macro to deal with _MS_VER/Remove delegating ctor in union type class * Add FLATBUFFERS_NOEXCEPT to generated union class
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
238a8ebb15
commit
2aec880347
@@ -660,11 +660,13 @@ class CppGenerator : public BaseGenerator {
|
||||
code_ += " flatbuffers::NativeTable *table;";
|
||||
code_ += "";
|
||||
code_ += " {{NAME}}Union() : type({{NONE}}), table(nullptr) {}";
|
||||
code_ += " {{NAME}}Union({{NAME}}Union&& u):";
|
||||
code_ += " {{NAME}}Union({{NAME}}Union&& u) FLATBUFFERS_NOEXCEPT :";
|
||||
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 &operator=({{NAME}}Union &&u) FLATBUFFERS_NOEXCEPT";
|
||||
code_ += " { std::swap(type, u.type); std::swap(table, u.table); return *this; }";
|
||||
code_ += " ~{{NAME}}Union() { Reset(); }";
|
||||
code_ += "";
|
||||
code_ += " void Reset();";
|
||||
|
||||
Reference in New Issue
Block a user