Extend README.md
This commit is contained in:
parent
8679263f09
commit
1ecf12b7f5
56
README.md
56
README.md
|
@ -1,3 +1,57 @@
|
|||
# reflective-rapidjson
|
||||
|
||||
Code generator for serializing/deserializing C++ objects to/from JSON using Clang and RapidJSON
|
||||
The main goal of this project is to provide a code generator for serializing/deserializing C++ objects to/from JSON
|
||||
using Clang and RapidJSON.
|
||||
|
||||
However, extending the generator to generate code for other applications of reflection or provide generic
|
||||
functionallity would be possible as well.
|
||||
|
||||
## Usage
|
||||
This example shows how the library can be used to make a `struct` serializable:
|
||||
```
|
||||
TODO
|
||||
```
|
||||
|
||||
Note that the header included at the bottom must be generated by invoking the code generator appropriately:
|
||||
```
|
||||
TODO
|
||||
```
|
||||
|
||||
It is possible to use the provided CMake macro to automate this task:
|
||||
```
|
||||
TODO
|
||||
```
|
||||
|
||||
### Using Boost.Hana instead of code generator
|
||||
The same example as above. However, this time Boost.Hana is used. So it doesn't required to invoking the generator.
|
||||
|
||||
```
|
||||
TODO
|
||||
```
|
||||
|
||||
## Install instructions
|
||||
|
||||
### Dependencies
|
||||
* C++ compiler and standard library supporting at least C++14
|
||||
* the CMake build system
|
||||
* LibTooling from Clang for the code generator
|
||||
* RapidJSON for JSON (de)serialization
|
||||
* `c++utilities` for various helper functions
|
||||
|
||||
Optional:
|
||||
|
||||
* CppUnit for building and running the tests
|
||||
* Doxygen for generating API documentation
|
||||
* Graphviz for diagrams in the API documentation
|
||||
|
||||
Note that `reflective-rapidjson` and none of these dependencies are required at runtime by an application which
|
||||
makes use of the `reflective-rapidjson`.
|
||||
|
||||
### How to build
|
||||
Install all required dependencies and ensure the CMake script finds them. It is possible to build `c++utilities`
|
||||
together `reflective-rapidjson` to ease the build process. The following build script makes use of this. To use
|
||||
system `c++utilities`, just skip any lines with `c++utilities` in it.
|
||||
|
||||
```
|
||||
TODO
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue