https://microsoft.github.io/bond/manual/compiler.html#generic-struct

Generic structs are parameterized with one or more type parameters which can be used within the struct definition in any place where a concrete type could be used (e.g. base struct, field type, container element type, parameter of a generic struct).

struct Example<T1, T2> : T1
{
   0: T1 field;
   1: list<T2> list;
   2: Generic<T2> generic;
}
-----Ursprüngliche Nachricht----- From: Jens Geyer
Sent: Sunday, July 24, 2016 10:41 PM
To: Thrift-Dev
Subject: interesting Bond features

https://microsoft.github.io/bond/why_bond.html

In terms of mapping to target languages, Bond again is much more similar to
Thrift than Protocol Buffers. Like Thrift, Bond generates native types to
represent schemas in the target language and uses native collections. Bond
however doesn’t hard-code type mappings. For example in C++ the defaults are
STL containers like std::vector however user can easily map custom types
(e.g. use boost::multi_index_container in a generated C++ struct or map a
uint64 schema field to a System.DateTime field in a generated C# class).
Bond generated C++ structs can also use custom allocators. See custom type
mappings for more details.


https://microsoft.github.io/bond/manual/compiler.html

Schema AST

The compiler exposes a JSON representation of the schema Abstract Syntax
Tree. The AST is intended for tools that need to access to the schema
information contained in Bond IDL files with the full fidelity. The compiler
can also take the JSON representation of the AST as an input, enabling tools
which programmatically construct/modify Bond schemas.



Reply via email to