mirror of
https://github.com/ToruNiina/toml11.git
synced 2025-12-16 03:08:52 +08:00
29
README.md
29
README.md
@@ -1303,9 +1303,9 @@ struct foo
|
|||||||
double b;
|
double b;
|
||||||
std::string c;
|
std::string c;
|
||||||
|
|
||||||
toml::table into_toml() const // you need to mark it const.
|
toml::value into_toml() const // you need to mark it const.
|
||||||
{
|
{
|
||||||
return toml::table{{"a", this->a}, {"b", this->b}, {"c", this->c}};
|
return toml::value{{"a", this->a}, {"b", this->b}, {"c", this->c}};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} // ext
|
} // ext
|
||||||
@@ -1332,9 +1332,9 @@ namespace toml
|
|||||||
template<>
|
template<>
|
||||||
struct into<ext::foo>
|
struct into<ext::foo>
|
||||||
{
|
{
|
||||||
static toml::table into_toml(const ext::foo& f)
|
static toml::value into_toml(const ext::foo& f)
|
||||||
{
|
{
|
||||||
return toml::table{{"a", f.a}, {"b", f.b}, {"c", f.c}};
|
return toml::value{{"a", f.a}, {"b", f.b}, {"c", f.c}};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} // toml
|
} // toml
|
||||||
@@ -1346,6 +1346,27 @@ toml::value v(f);
|
|||||||
Any type that can be converted to `toml::value`, e.g. `int`, `toml::table` and
|
Any type that can be converted to `toml::value`, e.g. `int`, `toml::table` and
|
||||||
`toml::array` are okay to return from `into_toml`.
|
`toml::array` are okay to return from `into_toml`.
|
||||||
|
|
||||||
|
You can also return a custom `toml::basic_value` from `toml::into`.
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
namespace toml
|
||||||
|
{
|
||||||
|
template<>
|
||||||
|
struct into<ext::foo>
|
||||||
|
{
|
||||||
|
static toml::basic_value<toml::preserve_comments> into_toml(const ext::foo& f)
|
||||||
|
{
|
||||||
|
toml::basic_value<toml::preserve_comments> v{{"a", f.a}, {"b", f.b}, {"c", f.c}};
|
||||||
|
v.comments().push_back(" comment");
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // toml
|
||||||
|
```
|
||||||
|
|
||||||
|
But note that, if this `basic_value` would be assigned into other `toml::value`
|
||||||
|
that discards `comments`, the comments would be dropped.
|
||||||
|
|
||||||
## Formatting user-defined error messages
|
## Formatting user-defined error messages
|
||||||
|
|
||||||
When you encounter an error after you read the toml value, you may want to
|
When you encounter an error after you read the toml value, you may want to
|
||||||
|
|||||||
Reference in New Issue
Block a user