https://github.com/ueberaccelerate/props
Serialization library based on yaml-cpp
https://github.com/ueberaccelerate/props
cpp library serialization yaml
Last synced: about 2 months ago
JSON representation
Serialization library based on yaml-cpp
- Host: GitHub
- URL: https://github.com/ueberaccelerate/props
- Owner: ueberaccelerate
- Created: 2019-04-22T19:53:01.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-09-30T09:50:22.000Z (over 4 years ago)
- Last Synced: 2025-03-31T06:43:17.692Z (about 1 year ago)
- Topics: cpp, library, serialization, yaml
- Language: C++
- Homepage:
- Size: 168 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Property sdk
[](https://travis-ci.com/ueberaccelerate/props)
Propertysdk is a C++ project that allow you make serialize object.
## Build the library
```
mkdir build && cd build
cmake ..
make -j
```
## Examples
```
#include
#include
class Test SERIALIZETHIS(Test)
{
SCALAR(age, int, "age of test");
SEQUENCE(childs, std::string, "names vector");
public:
CONSTRUCTORS(Test)
bool operator==(const Test &test) const{
if (this->age.get() != test.age.get()) return false;
if (this->childs.size() != test.childs.size()) return false;
for (size_t i = 0; i < this->childs.size(); ++i) {
if(this->childs[i] != test.childs[i]) return false;
}
return true;
}
bool operator!=(const Test &test) const {
return !Test::operator==(test);
}
};
int main() {
Test test{"test", "Simple Test class with scalar and basic sequnece"};
test.age.set(77);
test.childs.push_back("string one");
test.childs.push_back("string two");
std::string serdata;
test3.serialize([&serdata](const std::string &sd) {
serdata = sd;
});
Test ser_data;
try {
ser_data.deserialize(serdata);
}
catch (property::serialize_error &e) {
return -1;
}
}
```
## Maintenance
Maintainers: ueberacclerate