mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-04 12:43:24 +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
@@ -5,11 +5,6 @@
|
||||
|
||||
using namespace MyGame::Example;
|
||||
|
||||
const std::string m1_name = "Cyberdemon";
|
||||
const Color m1_color = Color_Red;
|
||||
const std::string m2_name = "Imp";
|
||||
const Color m2_color = Color_Green;
|
||||
|
||||
struct OwnedAllocator : public flatbuffers::DefaultAllocator {};
|
||||
|
||||
class TestHeapBuilder : public flatbuffers::FlatBufferBuilder {
|
||||
@@ -88,14 +83,14 @@ struct GrpcLikeMessageBuilder : private AllocatorMember,
|
||||
|
||||
flatbuffers::Offset<Monster> populate1(
|
||||
flatbuffers::FlatBufferBuilder &builder) {
|
||||
auto name_offset = builder.CreateString(m1_name);
|
||||
return CreateMonster(builder, nullptr, 0, 0, name_offset, 0, m1_color);
|
||||
auto name_offset = builder.CreateString(m1_name());
|
||||
return CreateMonster(builder, nullptr, 0, 0, name_offset, 0, m1_color());
|
||||
}
|
||||
|
||||
flatbuffers::Offset<Monster> populate2(
|
||||
flatbuffers::FlatBufferBuilder &builder) {
|
||||
auto name_offset = builder.CreateString(m2_name);
|
||||
return CreateMonster(builder, nullptr, 0, 0, name_offset, 0, m2_color);
|
||||
auto name_offset = builder.CreateString(m2_name());
|
||||
return CreateMonster(builder, nullptr, 0, 0, name_offset, 0, m2_color());
|
||||
}
|
||||
|
||||
uint8_t *release_raw_base(flatbuffers::FlatBufferBuilder &fbb, size_t &size,
|
||||
@@ -158,3 +153,7 @@ void FlatBufferBuilderTest() {
|
||||
BuilderReuseTests<GrpcLikeMessageBuilder, GrpcLikeMessageBuilder>::run_tests(
|
||||
TestSelector(tests, tests + 4));
|
||||
}
|
||||
|
||||
// Link-time check using pointer type.
|
||||
void CheckTestGeneratedIsValid(const MyGame::Example::Color&)
|
||||
{}
|
||||
Reference in New Issue
Block a user