message: dump to alternate implementation of string, as defined in basic_json template (changes to amalgamated code)
diff: @@ -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)
  {
  