# gpds **Repository Path**: agvctrl/gpds ## Basic Information - **Project Name**: gpds - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-25 - **Last Updated**: 2024-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Packaging status](https://repology.org/badge/vertical-allrepos/gpds.svg)](https://repology.org/project/gpds/versions) GPDS is a **G**eneral **P**urpose **D**ata **S**erializer implemented as a very small C++ library. It allows to serialize C++ classes to and from XML/YAML files in a generic format that can be processed by other XML/YAML processing software (or just for the sake of readability). Consider the following C++ class: ```cpp class Color { public: std::string name; int red; int blue; int green; }; ``` Most serializers would produce the following output when serializing to XML: ```xml Black 0 0 0 ``` This is not really practical when we want to process the same XML file with other software. GPDS on the other hand produces the following output: ```xml 0 0 0 ``` GPDS not only supports XML, but also supports YAML: ```yaml - color: "-format": rgb "-name": Black blue: "#text": 0 "-depth": 32 green: "#text": 0 "-depth": 32 red: "#text": 0 "-depth": 32 ```