12 #include <QLatin1String>
42 template<
typename Assoc>
43 auto Stlize (Assoc&& assoc) noexcept
49 auto begin ()
const {
return Assoc_.keyValueBegin (); }
50 auto end ()
const {
return Assoc_.keyValueEnd (); }
53 return Range { std::forward<Assoc> (assoc) };
68 inline QByteArray
AsByteArray (std::string_view view) noexcept
70 return QByteArray::fromRawData (view.data (),
static_cast<int> (view.size ()));
83 inline QByteArray
ToByteArray (std::string_view view) noexcept
85 return { view.data (),
static_cast<int> (view.size ()) };
93 inline std::string_view
AsStringView (
const QByteArray& arr) noexcept
95 return { arr.constData (),
static_cast<size_t> (arr.size ()) };
98 template<
typename T,
typename S>
99 std::pair<T, T>
BreakAt (
const T& str, S c) noexcept
101 const auto pos = str.indexOf (c);
105 return { str.left (pos), str.mid (pos + 1) };
111 constexpr QLatin1String
operator"" _ql (
const char *str, std::size_t size) noexcept
113 return QLatin1String { str,
static_cast<int> (size) };
116 constexpr QStringView
operator"" _qsv (
const char16_t *str, std::size_t size) noexcept
118 return QStringView { str,
static_cast<qsizetype
> (size) };
121 inline QByteArray
operator"" _qba (
const char *str, std::size_t size) noexcept
123 return QByteArray::fromRawData (str,
static_cast<int> (size));