Peerplays Fast Compile Library
- Create class `api_base` to be base class of `api<T>`, and `typedef shared_ptr<api_base> api_ptr` - Create function `api_base::as<T>()` to allow simple downcast to `api<T>` - Create class `any_api` to contain an API which has been returned from the remote end, but not yet cast with `as<T>` - `to_generic()` override allowing remote API to return `api_ptr`, thus we need not know the type of the returned API at compile time - Allow API's to be referenced by name, if we call with a string API name in the JSON the framework calls get_api_by_name on API 1 to determine the API ID |
||
|---|---|---|
| CMakeModules | ||
| GitVersionGen | ||
| include/fc | ||
| src | ||
| tests | ||
| vendor | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| fc.natvis | ||
| README-ecc.md | ||
| README.md | ||
fc
FC stands for fast-compiling c++ library and provides a set of utility libraries useful for the development of asynchronous libraries. Some of the highlights include:
- Cooperative Multi-Tasking Library with support for Futures, mutexes, signals.
- Wrapper on Boost ASIO for handling async opperations cooperatively with easy to code synchronous style.
- Reflection for C++ allowing automatic serialization in Json & Binary of C++ Structs
- Automatic generation of client / server stubs for reflected interfaces with support for JSON-RPC
- Cryptographic Primitives for a variaty of hashes and encryption algorithms
- Logging Infrastructure
- Wraps many Boost APIs, such as boost::filesystem, boost::thread, and boost::exception to acceleate compiles
- Support for unofficial Boost.Process library.