C++: Add Value::dump_file(), load_file() and loads() that take an std::string
This commit is contained in:
parent
b8059a1880
commit
adb1b58627
@ -128,6 +128,7 @@ namespace json {
|
||||
|
||||
// write the value to a file
|
||||
inline int dump_file(const char* path, int flags = 0) const;
|
||||
inline int dump_file(const std::string& path, int flags = 0) const;
|
||||
|
||||
// write the value to a string (caller must deallocate with free()!)
|
||||
inline char* dumps(int flags = 0) const;
|
||||
@ -289,9 +290,11 @@ namespace json {
|
||||
|
||||
// load a file as a JSON value
|
||||
inline Value load_file(const char* path, json_error_t* error = 0);
|
||||
inline Value load_file(const std::string& path, json_error_t* error = 0);
|
||||
|
||||
// load a string as a JSON value
|
||||
inline Value loads(const char* string, json_error_t* error = 0);
|
||||
inline Value loads(const std::string& string, json_error_t* error = 0);
|
||||
|
||||
} // namespace json
|
||||
|
||||
|
@ -274,6 +274,11 @@ namespace json {
|
||||
return json_dump_file(_Base::as_json(), path, flags);
|
||||
}
|
||||
|
||||
template <typename _Base>
|
||||
int ValueBase<_Base>::dump_file(const std::string& path, int flags) const {
|
||||
return dump_file(path.c_str(), flags);
|
||||
}
|
||||
|
||||
// write the value to a string (caller must deallocate with free()!)
|
||||
template <typename _Base>
|
||||
char* ValueBase<_Base>::dumps(int flags) const {
|
||||
@ -439,11 +444,19 @@ namespace json {
|
||||
return Value::take_ownership(json_load_file(path, error));
|
||||
}
|
||||
|
||||
Value load_file(const std::string& path, json_error_t* error) {
|
||||
return load_file(path.c_str(), error);
|
||||
}
|
||||
|
||||
// load a string as a JSON value
|
||||
Value loads(const char* string, json_error_t* error) {
|
||||
return Value::take_ownership(json_loads(string, error));
|
||||
}
|
||||
|
||||
Value loads(const std::string& string, json_error_t* error) {
|
||||
return loads(string.c_str(), error);
|
||||
}
|
||||
|
||||
} // namespace json
|
||||
|
||||
// stream JSON value out
|
||||
|
Loading…
Reference in New Issue
Block a user