Compare Products

Capn Proto C Serialization App CPGF Llibrary App

Features

* You can implicitly cast any compiled Cap’n Proto struct reader/builder type directly to DynamicStruct::Reader/DynamicStruct::Builder. Similarly with List<T> and DynamicList, and even enum types and DynamicEnum. Finally, all valid Cap’n Proto field types may be implicitly converted to DynamicValue. * You can load schemas dynamically at runtime using SchemaLoader (capnp/schema-loader.h) and use the Dynamic API to manipulate objects of these types. MessageBuilder and MessageReader have methods for accessing the message root using a dynamic schema. * While SchemaLoader loads binary schemas, you can also parse directly from text using SchemaParser (capnp/schema-parser.h). However, this requires linking against libcapnpc (in addition to libcapnp and libkj) – this code is bulky and not terribly efficient. If you can arrange to use only binary schemas at runtime, you’ll be better off. * Unlike with Protobufs, there is no “global registry” of compiled-in types. To get the schema for a compiled-in type, use capnp::Schema::from<MyType>(). * Unlike with Protobufs, the overhead of supporting reflection is small. Generated .capnp.c++ files contain only some embedded const data structures describing the schema, no code at all, and the runtime library support code is relatively small. Moreover, if you do not use the dynamic API or the schema API, you do not even need to link their implementations into your executable. * The dynamic API performs type checks at runtime. In case of error, it will throw an exception. If you compile with -fno-exceptions, it will crash instead. Correct usage of the API should never throw, but bugs happen. Enabling and catching exceptions will make your code more robust. * Loading user-provided schemas has security implications: it greatly increases the attack surface of the Cap’n Proto library. In particular, it is easy for an attacker to trigger exceptions. To protect yourself, you are strongly advised to enable exceptions and catch them.

Features

• cpgf reflection. Add runtime introspection and meta data reflection feature to C++. Have you ever envied the reflection system in C# and Java? Now we have it in C++! • cpgf serialization. Save C++ data and objects to persistent storage and then load back. Want the same serialization system that is in C# and Java? Try cpgf! • cpgf script binding. A script binding engine to connect Lua, Google V8 JavaScript, Python and Mozilla SpiderMonkey to C++. Now script binding in C++ is a piece of cake! • cpgf callback. A callback library to implement signal/slot/callback in C++. Want signal and slot without extra preprocessor? Try cpgf! • cpgf meta data collection. A library with pre-made built-in meta data support. Now there are meta data for C++ STL, OpenGL, OpenGLU, OpenGLUT, Box2D physical engine, SFML multimedia library and Irrlicht 3D render engine. • cpgf meta data generator tool. A tool written in Java to automatically generate meta data from Doxygen XML files. This is an optional tool. Meta data can be reflected manually perfectly. • cpgf tween and timeline - a library to implement ease animation in C++.

Languages

CPP

Languages

CPP CS Java Java Script

Source Type

Open

Source Type

Open

License Type

MIT

License Type

Apache

OS Type

OS Type

Pricing

  • free

Pricing

  • free
X

Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.

{{compareToolModel.Error}}

Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now