Исправление iliyap, (текущая версия) :
ini подходит для любых случаев, если дополнить его составными именами
struct Config {
// сначала скаляры и векторы скаляров
int a;
std::vector<int> b;
// потом структуры и векторы структур
struct Sub1 {
std::string c;
std::vector<std::string> d;
} e;
struct Sub2 {
int f;
std::vector<std::string> g;
};
std::vector<Sub2> h;
};
Сериализуется в ini:
a=1
b.1=2
b.2=3
[e]
c=home
d.1=sweet
d.2=home
[h.1]
f=4
g.1=foo
g.2=bar
[h.2]
f=4
g.1=baz
g.2=axe
И никакого синтаксического мусора, скобок, запятых, отступов, табуляций и прочего говна.
Исходная версия iliyap, :
ini подходит для любых случаев, если дополнить его составными именами
struct Config {
// сначала скаляры и векторы скаляров
int a;
std::vector<int> b;
// потом структуры и векторы структур
struct Sub1 {
std::string c;
std::vector<std::string> d;
} e;
struct Sub2 {
int f;
std::vector<std::string> g;
};
std::vector<sub2> h;
};
Сериализуется в ini:
a=1
b.1=2
b.2=3
[e]
c=home
d.1=sweet
d.2=home
[h.1]
f=4
g.1=foo
g.2=bar
[h.2]
f=4
g.1=baz
g.2=axe
И никакого синтаксического мусора, скобок, запятых, отступов, табуляций и прочего говна.