Fixed VS2010 build.

Change-Id: I3ee68c5f250d6baa02060ab2ecbc0f0fe254a9d8
parent 640df2c1
...@@ -119,8 +119,9 @@ struct EquipmentUnion { ...@@ -119,8 +119,9 @@ struct EquipmentUnion {
void Reset(); void Reset();
#ifndef FLATBUFFERS_CPP98_STL #ifndef FLATBUFFERS_CPP98_STL
template <typename T, typename RT = typename std::remove_reference<T>::type> template <typename T>
void Set(T&& val) { void Set(T&& val) {
using RT = typename std::remove_reference<T>::type;
Reset(); Reset();
type = EquipmentTraits<typename RT::TableType>::enum_value; type = EquipmentTraits<typename RT::TableType>::enum_value;
if (type != Equipment_NONE) { if (type != Equipment_NONE) {
......
...@@ -1096,8 +1096,9 @@ class CppGenerator : public BaseGenerator { ...@@ -1096,8 +1096,9 @@ class CppGenerator : public BaseGenerator {
code_ += ""; code_ += "";
if (!enum_def.uses_multiple_type_instances) { if (!enum_def.uses_multiple_type_instances) {
code_ += "#ifndef FLATBUFFERS_CPP98_STL"; code_ += "#ifndef FLATBUFFERS_CPP98_STL";
code_ += " template <typename T, typename RT = typename std::remove_reference<T>::type>"; code_ += " template <typename T>";
code_ += " void Set(T&& val) {"; code_ += " void Set(T&& val) {";
code_ += " using RT = typename std::remove_reference<T>::type;";
code_ += " Reset();"; code_ += " Reset();";
code_ += " type = {{NAME}}Traits<typename RT::TableType>::enum_value;"; code_ += " type = {{NAME}}Traits<typename RT::TableType>::enum_value;";
code_ += " if (type != {{NONE}}) {"; code_ += " if (type != {{NONE}}) {";
......
...@@ -207,8 +207,9 @@ struct AnyUnion { ...@@ -207,8 +207,9 @@ struct AnyUnion {
void Reset(); void Reset();
#ifndef FLATBUFFERS_CPP98_STL #ifndef FLATBUFFERS_CPP98_STL
template <typename T, typename RT = typename std::remove_reference<T>::type> template <typename T>
void Set(T&& val) { void Set(T&& val) {
using RT = typename std::remove_reference<T>::type;
Reset(); Reset();
type = AnyTraits<typename RT::TableType>::enum_value; type = AnyTraits<typename RT::TableType>::enum_value;
if (type != Any_NONE) { if (type != Any_NONE) {
...@@ -348,8 +349,9 @@ struct AnyUniqueAliasesUnion { ...@@ -348,8 +349,9 @@ struct AnyUniqueAliasesUnion {
void Reset(); void Reset();
#ifndef FLATBUFFERS_CPP98_STL #ifndef FLATBUFFERS_CPP98_STL
template <typename T, typename RT = typename std::remove_reference<T>::type> template <typename T>
void Set(T&& val) { void Set(T&& val) {
using RT = typename std::remove_reference<T>::type;
Reset(); Reset();
type = AnyUniqueAliasesTraits<typename RT::TableType>::enum_value; type = AnyUniqueAliasesTraits<typename RT::TableType>::enum_value;
if (type != AnyUniqueAliases_NONE) { if (type != AnyUniqueAliases_NONE) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment