14#include <QLatin1String>
47 template<
typename Assoc>
54 auto begin ()
const {
return Assoc_.keyValueBegin (); }
55 auto end ()
const {
return Assoc_.keyValueEnd (); }
61 template<
typename Assoc>
68 auto begin ()
const {
return Assoc_.keyBegin (); }
69 auto end ()
const {
return Assoc_.keyEnd (); }
89 return QByteArray::fromRawData (
view.data (),
static_cast<int> (
view.size ()));
104 return {
view.data (),
static_cast<int> (
view.size ()) };
114 return {
arr.constData (),
static_cast<size_t> (
arr.size ()) };
117 template<
typename T,
typename S>
120 const auto pos =
str.indexOf (
c);
130 ptr.release ()->setParent (&parent);
135 return QString::fromRawData (
sv.data (),
sv.size ());
141 constexpr QLatin1String
operator"" _ql (
const char *str, std::size_t size)
noexcept
143 return QLatin1String { str,
static_cast<int> (size) };
146 constexpr QStringView
operator"" _qsv (
const char16_t *str, std::size_t size)
noexcept
148 return QStringView { str,
static_cast<qsizetype
> (size) };
151 inline QByteArray
operator"" _qba (
const char *str, std::size_t size)
noexcept
153 return QByteArray::fromRawData (str,
static_cast<int> (size));
156 template<Util::CtString S>
157 QString
operator""_qs ()
auto Stlize(Assoc &&assoc) noexcept
Converts an Qt's associative sequence assoc to an STL-like iteratable range.
Container< T > Filter(const Container< T > &c, F f)
std::pair< T, T > BreakAt(const T &str, S c) noexcept
void ReleaseInto(std::unique_ptr< T > &&ptr, QObject &parent)
std::string_view AsStringView(const QByteArray &arr) noexcept
Create a std::string_view referring the data within a QByteArray.
QByteArray AsByteArray(std::string_view view) noexcept
Convert the view into a QByteArray without copying.
QString UnsafeFromView(QStringView sv)
auto StlizeKeys(Assoc &&assoc) noexcept