# 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
[](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
```