- Introduce cpgf reflection library
- Introduce cpgf serialization library
- Introduce cpgf script binding library -- Lua, Google V8 and Python binding
- Introduce cpgf callback library
- Building and use cpgf library
- cpgf library memory management guideline
- cgpf library portability and compatibility -- tested supported C++ compilers and platforms
- How is cpgf library tested
- What cpgf is and is not
- cpgf reflection -- build meta data
- cpgf reflection -- using meta data
- Class-function based Library VS Interfaced API
- Using GVariant
- Using GMetaType
- Advanced usage of GVariant
- Policies and Rules -- customize the underlying behavior at compile time
- Using interface based API
- Create archive reader/writer and storage reader/writer
- Serialize and deserialize objects
- Inside cpgf serialization -- core concepts and data types
- Inside cpgf serialization -- implement storage layer
- Inside cpgf serialization -- implement serializer
- Binding Lua, Google V8 Javascript, Python and Mozilla SpiderMonkey engine to C++
- Using GScriptValue
- Inherit and extend C++ class from script in cpgf library
- C++ object life management model in script binding
- Import libraries from script at runtime
- Useful technologies, tips, tricks and caveats for cpgf script binding
- Language specified features support
- Use built-in library builtin.core in cpgf script binding
- Use built-in byte array in cpgf script binding
- Use built-in object array in cpgf script binding
- cpgf reflection, Lua, Javascript, and Python script binding for Irrlicht 3D engine
- Meta data for SFML -- Simple and Fast Multimedia Library
- Meta data for Box2D physics engine
- Meta data for OpenGL, GLU, and GLUT
- Meta data for STL