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
|
// write the value to a file
|
||||||
inline int dump_file(const char* path, int flags = 0) const;
|
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()!)
|
// write the value to a string (caller must deallocate with free()!)
|
||||||
inline char* dumps(int flags = 0) const;
|
inline char* dumps(int flags = 0) const;
|
||||||
@ -289,9 +290,11 @@ namespace json {
|
|||||||
|
|
||||||
// load a file as a JSON value
|
// load a file as a JSON value
|
||||||
inline Value load_file(const char* path, json_error_t* error = 0);
|
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
|
// load a string as a JSON value
|
||||||
inline Value loads(const char* string, json_error_t* error = 0);
|
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
|
} // namespace json
|
||||||
|
|
||||||
|
@ -274,6 +274,11 @@ namespace json {
|
|||||||
return json_dump_file(_Base::as_json(), path, flags);
|
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()!)
|
// write the value to a string (caller must deallocate with free()!)
|
||||||
template <typename _Base>
|
template <typename _Base>
|
||||||
char* ValueBase<_Base>::dumps(int flags) const {
|
char* ValueBase<_Base>::dumps(int flags) const {
|
||||||
@ -439,11 +444,19 @@ namespace json {
|
|||||||
return Value::take_ownership(json_load_file(path, error));
|
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
|
// load a string as a JSON value
|
||||||
Value loads(const char* string, json_error_t* error) {
|
Value loads(const char* string, json_error_t* error) {
|
||||||
return Value::take_ownership(json_loads(string, 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
|
} // namespace json
|
||||||
|
|
||||||
// stream JSON value out
|
// stream JSON value out
|
||||||
|
Loading…
Reference in New Issue
Block a user