28#define ALIB_QTCHAR alib::characters::TypeBySize<2>
29#define ALIB_QTCHAR_4 alib::characters::TypeBySize<4>
32template<>
struct ArrayTraits<QStringView, ALIB_QTCHAR> {
35 static const ALIB_QTCHAR*
Buffer (QStringView
const & src) {
return reinterpret_cast<const ALIB_QTCHAR*
>(src.data()); }
37 static QStringView
Construct(
const ALIB_QTCHAR* b,
integer l ) {
return QStringView( b, qsizetype(l) ); }
43 static const ALIB_QTCHAR*
Buffer (QStringView
const & src) {
return reinterpret_cast<const ALIB_QTCHAR*
>(src.data()); }
45 static QStringView
Construct(
const ALIB_QTCHAR* b,
integer l ) {
return QStringView( b, qsizetype(l) ); }
49template<>
struct ArrayTraits<QString, ALIB_QTCHAR > {
52 static const ALIB_QTCHAR*
Buffer (QString
const & src) {
return reinterpret_cast<const ALIB_QTCHAR*
>(src.data()); }
54 static QString
Construct(
const ALIB_QTCHAR* b,
integer l ) {
return QString(
reinterpret_cast<const QChar*
>(b),
int(l) ); }
60 static const ALIB_QTCHAR*
Buffer (QString
const & src) {
return reinterpret_cast<const ALIB_QTCHAR*
>(src.utf16()); }
62 static QString
Construct(
const ALIB_QTCHAR* b,
integer l ) {
return QString(
reinterpret_cast<const QChar*
>(b),
int(l) ); }
69 static const nchar*
Buffer (QLatin1String
const & src) {
return src.data(); }
77 static const nchar*
Buffer (QLatin1String
const & src) {
return reinterpret_cast<const nchar*
>(src.data()); }
86 static const nchar*
Buffer (QByteArray
const & src) {
return src.data(); }
94 static const nchar*
Buffer (QByteArray
const & src) {
return reinterpret_cast<const nchar*
>(src.data()); }
100template<>
struct ArrayTraits<QVector<uint>, ALIB_QTCHAR_4> {
103 static const ALIB_QTCHAR_4*
Buffer (QVector<uint>
const & src) {
return reinterpret_cast<const ALIB_QTCHAR_4*
>(src.data()); }
106 QVector<uint> result;
107 result.reserve(
int(l) );
108 const ALIB_QTCHAR_4* end= b + l;
110 result.append( uint( *b++ ) );
115template<>
struct ZTArrayTraits<QVector<uint>, ALIB_QTCHAR_4> {
118 static const ALIB_QTCHAR_4*
Buffer (QVector<uint>
const & src) {
return reinterpret_cast<const ALIB_QTCHAR_4*
>(src.data()); }
121 QVector<uint> result;
122 result.reserve(
int(l) );
123 const ALIB_QTCHAR_4* end= b + l;
125 result.append( uint(*b++) );
lang::integer integer
Type alias in namespace #"%alib".
static constexpr Policy Access
static integer Length(const TStringSource &src)
static TStringSource Construct(const TChar *array, integer length)
static constexpr Policy Construction
static const TChar * Buffer(const TStringSource &src)
static constexpr Policy Construction
static constexpr Policy Access
static const TChar * Buffer(const TStringSource &src)
static TStringSource Construct(const TChar *array, integer length)
static integer Length(const TStringSource &src)