On 2020-05-12 16:12, Giuseppe D'Angelo via Development wrote:
On 5/12/20 12:20 PM, Иван Комиссаров wrote:
* Exceptions can be done where significant performance gains can be demonstrated and the API will by design not require a copy of the data (e.g. XML writer, stream writers, date time handling)
Let me disagree here. The decision should be taken on the fact if the object takes ownership of the string (and thus QString is used) or it only «looks» into it.

I agree. This however leaves us with questions regarding the API. E.g.:

class Attribute {
public:
  // OK: takes ownership
  void addAttribute(const QString &key, const QString &value);

Such code can take QAnyStringView which would be, essentially, std::variant<QLatin1StringView, QStringView, QUtf8StringView (, char32_t)>.

And while I still think that char[] should be deprecated once we can depend on char8_t, for the time being, that would work with "foo" (and convert to QUtf8StringView).

Thanks,
Marc
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to