diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2024-04-02 16:24:52 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2024-04-27 13:03:36 -0700 |
commit | f8359084b948fd8f6027d23a869f1a0d50cc30c1 (patch) | |
tree | 652ae0ad8d1bbb41d2f0849966e5e70c6a34bbc8 /src/corelib/text | |
parent | 99f78eb7085b19c78153bdfbff9d24a2098a2a57 (diff) |
QString{En,De}coder: add constructors with QString parameters
Because QStringConverter::availableCodecs() returns QString.
Added as Q_WEAK_OVERLOAD so this doesn't create ambiguous overloads when
passing QByteArrays.
Fixes: QTBUG-123919
Change-Id: If1bf59ecbe014b569ba1fffd17c29a253ac22abe
Reviewed-by: Sune Vuorela <sune@vuorela.dk>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/text')
-rw-r--r-- | src/corelib/text/qstringconverter.cpp | 20 | ||||
-rw-r--r-- | src/corelib/text/qstringconverter.h | 6 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/corelib/text/qstringconverter.cpp b/src/corelib/text/qstringconverter.cpp index 565e3e598b..67c75d708e 100644 --- a/src/corelib/text/qstringconverter.cpp +++ b/src/corelib/text/qstringconverter.cpp @@ -2510,6 +2510,16 @@ const char *QStringConverter::nameForEncoding(QStringConverter::Encoding e) */ /*! + \fn constexpr QStringEncoder::QStringEncoder(const QString &name, Flags flags = Flag::Default) + \since 6.8 + + Creates an encoder object using \a name and \a flags. + If \a name is not the name of a known encoding an invalid converter will get created. + + \sa isValid() +*/ + +/*! \fn QStringEncoder::DecodedData<const QString &> QStringEncoder::encode(const QString &in) \fn QStringEncoder::DecodedData<QStringView> QStringEncoder::encode(QStringView in) \fn QStringEncoder::DecodedData<const QString &> QStringEncoder::operator()(const QString &in) @@ -2601,6 +2611,16 @@ const char *QStringConverter::nameForEncoding(QStringConverter::Encoding e) */ /*! + \fn constexpr QStringDecoder::QStringDecoder(const QString &name, Flags flags = Flag::Default) + \since 6.8 + + Creates an decoder object using \a name and \a flags. + If \a name is not the name of a known encoding an invalid converter will get created. + + \sa isValid() +*/ + +/*! \fn QStringDecoder::EncodedData<const QByteArray &> QStringDecoder::operator()(const QByteArray &ba) \fn QStringDecoder::EncodedData<const QByteArray &> QStringDecoder::decode(const QByteArray &ba) \fn QStringDecoder::EncodedData<QByteArrayView> QStringDecoder::operator()(QByteArrayView ba) diff --git a/src/corelib/text/qstringconverter.h b/src/corelib/text/qstringconverter.h index 055019836a..40791f8e26 100644 --- a/src/corelib/text/qstringconverter.h +++ b/src/corelib/text/qstringconverter.h @@ -33,6 +33,9 @@ public: explicit QStringEncoder(const char *name, Flags flags = Flag::Default) : QStringConverter(name, flags) {} + Q_WEAK_OVERLOAD explicit QStringEncoder(const QString &name, Flags flags = Flag::Default) + : QStringEncoder(name.toLatin1().constData(), flags) + {} template<typename T> struct DecodedData @@ -95,6 +98,9 @@ public: explicit QStringDecoder(const char *name, Flags f = Flag::Default) : QStringConverter(name, f) {} + Q_WEAK_OVERLOAD explicit QStringDecoder(const QString &name, Flags f = Flag::Default) + : QStringDecoder(name.toLatin1().constData(), f) + {} template<typename T> struct EncodedData |