Commit ed6b1464 authored by Vitaliy Manushkin's avatar Vitaliy Manushkin

dump to alternate implementation of string, as defined in basic_json template...

dump to alternate implementation of string, as defined in basic_json template (changes to amalgamated code)
parent faccc37d
......@@ -4777,11 +4777,11 @@ class output_stream_adapter : public output_adapter_protocol<CharType>
};
/// output adapter for basic_string
template<typename CharType>
template<typename CharType, typename StringType = std::basic_string<CharType>>
class output_string_adapter : public output_adapter_protocol<CharType>
{
public:
explicit output_string_adapter(std::basic_string<CharType>& s) : str(s) {}
explicit output_string_adapter(StringType& s) : str(s) {}
void write_character(CharType c) override
{
......@@ -4794,10 +4794,10 @@ class output_string_adapter : public output_adapter_protocol<CharType>
}
private:
std::basic_string<CharType>& str;
StringType& str;
};
template<typename CharType>
template<typename CharType, typename StringType = std::basic_string<CharType>>
class output_adapter
{
public:
......@@ -4807,7 +4807,7 @@ class output_adapter
output_adapter(std::basic_ostream<CharType>& s)
: oa(std::make_shared<output_stream_adapter<CharType>>(s)) {}
output_adapter(std::basic_string<CharType>& s)
output_adapter(StringType& s)
: oa(std::make_shared<output_string_adapter<CharType>>(s)) {}
operator output_adapter_t<CharType>()
......@@ -11556,7 +11556,7 @@ class basic_json
const bool ensure_ascii = false) const
{
string_t result;
serializer s(detail::output_adapter<char>(result), indent_char);
serializer s(detail::output_adapter<char, string_t>(result), indent_char);
if (indent >= 0)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment