mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-24 16:06:10 +00:00
Add flatc '--cpp_std' switch (#5656)
* Add flatc '--cpp_std' switch and sandbox for C++17 code generator - Added 'flac --cpp_std legacy' for compatibility with old compilers (VS2010); - Added experimental switch 'flac --cpp_std c++17' for future development; - Added C++17 sandbox test_cpp17.cpp; - C++ code generator generates enums with explicit underlying type to avoid problems with the forward and backward schema compatibility; - Adjusted CMakeLists.txt, CI and generate code scripts to support of introduced '--cpp_std'; * Fix --cpp_std values: c++0x, c++11, c++17 * Add 'cpp::CppStandard' enum * Add testing engine into test_cpp17 * Rebase to upstream/master * Set default '--cpp-std C++0x' * Fix code generation (--cpp_std C++11) in CMakeLists.txt - Fix dependency declaration of grpctest target * Revert --cpp-std for the tests from explicit C++11 to flatc default value (C++0x)
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
3e8f15df90
commit
44bf719883
@@ -136,7 +136,7 @@ inline const char * const *EnumNamesColor() {
|
||||
}
|
||||
|
||||
inline const char *EnumNameColor(Color e) {
|
||||
if (e < Color_Red || e > Color_Blue) return "";
|
||||
if (flatbuffers::IsOutRange(e, Color_Red, Color_Blue)) return "";
|
||||
const size_t index = static_cast<size_t>(e) - static_cast<size_t>(Color_Red);
|
||||
return EnumNamesColor()[index];
|
||||
}
|
||||
@@ -172,7 +172,7 @@ inline const char * const *EnumNamesRace() {
|
||||
}
|
||||
|
||||
inline const char *EnumNameRace(Race e) {
|
||||
if (e < Race_None || e > Race_Elf) return "";
|
||||
if (flatbuffers::IsOutRange(e, Race_None, Race_Elf)) return "";
|
||||
const size_t index = static_cast<size_t>(e) - static_cast<size_t>(Race_None);
|
||||
return EnumNamesRace()[index];
|
||||
}
|
||||
@@ -208,7 +208,7 @@ inline const char * const *EnumNamesAny() {
|
||||
}
|
||||
|
||||
inline const char *EnumNameAny(Any e) {
|
||||
if (e < Any_NONE || e > Any_MyGame_Example2_Monster) return "";
|
||||
if (flatbuffers::IsOutRange(e, Any_NONE, Any_MyGame_Example2_Monster)) return "";
|
||||
const size_t index = static_cast<size_t>(e);
|
||||
return EnumNamesAny()[index];
|
||||
}
|
||||
@@ -350,7 +350,7 @@ inline const char * const *EnumNamesAnyUniqueAliases() {
|
||||
}
|
||||
|
||||
inline const char *EnumNameAnyUniqueAliases(AnyUniqueAliases e) {
|
||||
if (e < AnyUniqueAliases_NONE || e > AnyUniqueAliases_M2) return "";
|
||||
if (flatbuffers::IsOutRange(e, AnyUniqueAliases_NONE, AnyUniqueAliases_M2)) return "";
|
||||
const size_t index = static_cast<size_t>(e);
|
||||
return EnumNamesAnyUniqueAliases()[index];
|
||||
}
|
||||
@@ -492,7 +492,7 @@ inline const char * const *EnumNamesAnyAmbiguousAliases() {
|
||||
}
|
||||
|
||||
inline const char *EnumNameAnyAmbiguousAliases(AnyAmbiguousAliases e) {
|
||||
if (e < AnyAmbiguousAliases_NONE || e > AnyAmbiguousAliases_M3) return "";
|
||||
if (flatbuffers::IsOutRange(e, AnyAmbiguousAliases_NONE, AnyAmbiguousAliases_M3)) return "";
|
||||
const size_t index = static_cast<size_t>(e);
|
||||
return EnumNamesAnyAmbiguousAliases()[index];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user