mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-26 21:52:18 +00:00
Support attribute "cpp_ptr_type" on table elements marked as "hash" (#4643)
* added intended use-cases to monster_test.fbs * added check for `cpp_ptr_type` on hashed fields added default value 'naked' to `cpp_ptr_type` on hashed fields * added C++ generation of cpp_type vectors removed ctor call for vector fields added condition !vector for cpp_type check added Pack() and UnPack() code generation for vector of hashes added generation of correct resolve/rehash for cpp_type elements * added attribute 'cpp_ptr_type_get' to hold accessor for pointer types possible where '.get()' does not work use case: cpp_ptr_type:"std::weak_ptr", cpp_ptr_type_get:".lock().get()" * run flatc to re-generate headers * added bool param is_ctor to GetDefaultScalarValue() to differentiate between usage places * modified monster_test.fbs to remove usage of shared_ptr/weak_ptr reason: STLport does not support std::shared_ptr and std::weak_ptr * run flatc again to re-generate headers * fixed symbol unique_ptr not in namespace std when building with STLport
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
4ea1be53d4
commit
9ce98dd77d
@@ -137,7 +137,12 @@
|
||||
"parent_namespace_test" : { "$ref" : "#/definitions/MyGame_InParentNamespace" },
|
||||
"vector_of_referrables" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Referrable" } },
|
||||
"single_weak_reference" : { "type" : "number" },
|
||||
"vector_of_weak_references" : { "type" : "array", "items" : { "type" : "number" } }
|
||||
"vector_of_weak_references" : { "type" : "array", "items" : { "type" : "number" } },
|
||||
"vector_of_strong_referrables" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Referrable" } },
|
||||
"co_owning_reference" : { "type" : "number" },
|
||||
"vector_of_co_owning_references" : { "type" : "array", "items" : { "type" : "number" } },
|
||||
"non_owning_reference" : { "type" : "number" },
|
||||
"vector_of_non_owning_references" : { "type" : "array", "items" : { "type" : "number" } }
|
||||
},
|
||||
"required" : ["name"],
|
||||
"additionalProperties" : false
|
||||
|
||||
Reference in New Issue
Block a user