Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qstringview.h File Reference

(874be50e7b773698abf0b099b0b32a9cbb3cff2d)

#include <QtCore/qchar.h>
#include <QtCore/qcompare.h>
#include <QtCore/qcontainerfwd.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qstringfwd.h>
#include <QtCore/qstringliteral.h>
#include <QtCore/qstringalgorithms.h>
#include <string>
#include <string_view>
#include <QtCore/q20type_traits.h>
+ Include dependency graph for qstringview.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QtPrivate::IsCompatibleCharTypeHelper< Char >
 
struct  QtPrivate::IsCompatibleCharType< Char >
 
struct  QtPrivate::IsCompatiblePointerHelper< Pointer >
 
struct  QtPrivate::IsCompatiblePointerHelper< Char * >
 
struct  QtPrivate::IsCompatiblePointer< Pointer >
 
struct  QtPrivate::IsContainerCompatibleWithQStringView< T, Enable >
 
struct  QtPrivate::IsContainerCompatibleWithQStringView< T, std::enable_if_t< std::conjunction_v< IsCompatiblePointer< decltype(std::data(std::declval< const T & >()))>, std::is_convertible< decltype(std::size(std::declval< const T & >())), qsizetype >, IsCompatibleCharType< typename std::iterator_traits< decltype(std::begin(std::declval< const T & >()))>::value_type >, std::is_convertible< decltype(std::begin(std::declval< const T & >()) !=std::end(std::declval< const T & >())), bool >, std::negation< std::is_same< std::decay_t< T >, QString > >,#define QSTRINGVIEW_REFUSES_QSTRINGREF std::negation< std::is_same< q20::remove_cvref_t< T >, QStringRef > >, std::negation< std::is_same< std::decay_t< T >, QStringView > > > > >
 
class  QStringView
 \inmodule QtCore More...
 

Namespaces

namespace  QtPrivate
 
namespace  Qt
 
namespace  Qt::Literals
 
namespace  Qt::Literals::StringLiterals
 

Macros

#define QSTRINGVIEW_REFUSES_QSTRINGREF   1
 

Functions

 Q_DECLARE_TYPEINFO (QStringView, Q_PRIMITIVE_TYPE)
 
template<typename QStringLike, typename std::enable_if< std::is_same< QStringLike, QString >::value, bool >::type = true>
QStringView qToStringViewIgnoringNull (const QStringLike &s) noexcept
 
constexpr QStringView Qt::Literals::StringLiterals::operator""_sv (const char16_t *str, size_t size) noexcept
 

Macro Definition Documentation

◆ QSTRINGVIEW_REFUSES_QSTRINGREF

#define QSTRINGVIEW_REFUSES_QSTRINGREF   1

Function Documentation

◆ Q_DECLARE_TYPEINFO()

Q_DECLARE_TYPEINFO ( QStringView ,
Q_PRIMITIVE_TYPE  )

◆ qToStringViewIgnoringNull()

template<typename QStringLike, typename std::enable_if< std::is_same< QStringLike, QString >::value, bool >::type = true>
QStringView qToStringViewIgnoringNull ( const QStringLike & s)
inlinenoexcept
Since
5.10

Convert s to a QStringView ignoring {s.isNull()}.

Returns a string view that references {s}' data, but is never null.

This is a faster way to convert a QString to a QStringView, if null QStrings can legitimately be treated as empty ones.

See also
QString::isNull(), QStringView

Definition at line 475 of file qstringview.h.