Google APIs Client Library for C++
|
The current implementation of JSON support uses the third-party JsonCpp lirary (http://jsoncpp.sourceforge.net/) which has some issues that leak into the interface. More...
Classes | |
class | JsonCppData |
Base class for data objects using JsonCpp for underlying state. More... | |
class | JsonCppDictionary |
Denotes a JsonCppData instance that is a dictionary. More... | |
class | JsonCppAssociativeArray< T > |
Denotes an associative array from string to values of type T . More... | |
class | JsonCppCapsule< BASE > |
Helper class for constructing new top-level JsonCppData instances. More... | |
class | JsonCppConstIndexIterator< T > |
Iterator for index-based JsonCppDataArray. More... | |
class | JsonCppConstAssociativeIterator< T > |
Iterator for JsonCppDataAssociativeArray. More... |
The current implementation of JSON support uses the third-party JsonCpp lirary (http://jsoncpp.sourceforge.net/) which has some issues that leak into the interface.
Therefore, I'm grouping these into a 'JsonCpp' module.
The design of the JsonCpp sub-module makes pragmatic tradeoffs in order to use this existing implementation. The main thing to be aware of is that the signatures of the class methods in this module often use call by value-result semantics rather than call by reference as you would expect. However, the internal implementation is often actually call by reference. So the semantics (and performance) are similar to call-by reference but the code feels like cal-by value. This is unfortunate and I hope to address it in future releases.