33 BASE_EXPORT QString
toQString(
const float & v,
int width=0,
char format=
'g',
int precision=-1,
char fill=
' ');
34 BASE_EXPORT QString
toQString(
const double &v,
int width=0,
char format=
'g',
int precision=-1,
char fill=
' ');
36 BASE_EXPORT QString
toQString(
const QVariant &v,
int width=0,
char fill=
' ',
char format=
'g',
int precision=-1);
46 QString toQStringT(
const T &t,
int width=0,
char fill=
' ',
char format=
'g',
int precision=-1) {
51 inline QString toQStringT(
const float &t,
int width,
char fill,
char format,
int precision) {
52 return toQString(t,width,format,precision,fill);
55 inline QString toQStringT(
const double &t,
int width,
char fill,
char format,
int precision) {
56 return toQString(t,width,format,precision,fill);
59 inline QString toQStringT(
const QVariant &t,
int width,
char fill,
char format,
int precision) {
60 return toQString(t,width,fill,format,precision);
63 inline QString toQStringT(
const bool &b,
int width,
char fill,
char format,
int precision) {
71 template <
class T>
inline QString
toQString(
const Vector2<T> &v,
int width=0,
char fmt=
'g',
int prec=-1,
char fill=
' ') {
73 int w = (std::abs(width) - 3) / 2;
75 s = s.arg(toQStringT(v.
x(),w,fill,fmt,prec));
76 s = s.arg(toQStringT(v.
y(),w,fill,fmt,prec));
82 template <
class T>
inline QString
toQString(
const Vector3<T> &v,
int width=0,
char fmt=
'g',
int prec=-1,
char fill=
' ') {
83 QString s(
"(%1,%2,%3)");
84 int w = (std::abs(width) - 4) / 3;
86 s = s.arg(toQStringT(v.
x(),w,fill,fmt,prec));
87 s = s.arg(toQStringT(v.
y(),w,fill,fmt,prec));
88 s = s.arg(toQStringT(v.
z(),w,fill,fmt,prec));
95 template <
class T>
inline QString
toQString(
const AVector2<T> &v,
int width=0,
char fmt=
'g',
int prec=-1,
char fill=
' ') {
97 int w = (std::abs(width) - 3) / 2;
99 s = s.arg(toQStringT(v.
z(),w,fill,fmt,prec));
105 template <
class T>
inline QString
toQString(
const AVector3<T> &v,
int width=0,
char fmt=
'g',
int prec=-1,
char fill=
' ') {
106 QString s(
"(%1,%2,%3)");
107 int w = (std::abs(width) - 4) / 3;
109 s = s.arg(v.
x(),w,fill,fmt,prec);
110 s = s.arg(v.
y(),w,fill,fmt,prec);
111 s = s.arg(v.
z(),w,fill,fmt,prec);
139 BASE_EXPORT QString
build(
const QString &s,
const QVariant &v1=QVariant(),
const QVariant &v2=QVariant(),
140 const QVariant &v3=QVariant(),
const QVariant &v4=QVariant(),
141 const QVariant &v5=QVariant(),
const QVariant &v6=QVariant());
152 BASE_EXPORT QString
readWord(QDataStream &ds,qint64 maxlen=0,
const QString &separators=
" \t\r\n");
153 BASE_EXPORT QString cleanupTypename(
const char *name);
155 BASE_EXPORT QString enquoteString(
const QString &s,QChar quote=
'"');
173 BASE_EXPORT bool isBool(
const QString &in,
bool *b=0,
const QString &out=
"on,off,true,false,yes,no");
177 BASE_EXPORT bool toBool(
const QString &in,
bool *ok=0,
const QString &out=
"on,off,true,false,yes,no");
179 inline String
toString(
const QString &in) {
return in.toStdWString(); }
181 inline String
toString(
const std::wstring &in) {
return in; }
183 inline String
toString(
const string &in) {
return QString::fromUtf8(in.c_str()).toStdWString(); }
185 inline QString
toQString(
const std::wstring &in) {
return QString::fromStdWString(in); }
187 inline QString
toQString(
const string &in) {
return QString::fromUtf8(in.c_str()); }
189 inline int compare(
const String &s1,
const String &s2,
bool case_sensitive=
false) {
190 if (case_sensitive)
return s1.compare(s2);
192 else return wcscasecmp(s1.c_str(),s2.c_str());
194 else return _wcsicmp(s1.c_str(),s2.c_str());
209 bool operator()(
const QString &left,
const QString &right)
const {
210 return left.compare(right,Qt::CaseInsensitive) < 0;
215 bool operator()(
const QString &left,
const QString &right)
const {
216 return QString::localeAwareCompare(left,right) < 0;
221 bool operator()(
const QString &left,
const QString &right)
const {
222 return left.compare(right,Qt::CaseInsensitive) == 0;
227 uint operator()(
const QString &in)
const {
229 auto len = in.size();
230 auto *p = in.constData();
231 for (
size_t i = 0; i<len; ++i) {
232 h = 31 * h + p[i].toUpper().unicode();
239 inline string tostring(
const QString &s) {
return s.toStdString(); }
241 template <
typename T>
using QStringMap = std::map<QString, T, QStringCILess2>;
243 template <
typename T>
using QStringHashMap = std::unordered_map<QString, T, QStringCIHash2, QStringCIEqual2>;
245 using QStringSet = std::set<QString,QStringCILess2>;
247 using QStringHashSet = std::unordered_set<QString, QStringCIHash2, QStringCIEqual2>;
BASE_EXPORT bool isDouble(const QString &in, double *d=0)
Definition: baseqstring.cpp:326
BASE_EXPORT QString toBytes(const quint64 &ul)
Converts number ul into a memory size string.
BASE_EXPORT bool toBool(const QString &in, bool *ok=0, const QString &out="on,off,true,false,yes,no")
Definition: baseqstring.cpp:333
Definition: baseqstring.h:207
const T & z() const
Member access - returns the z component of the 2D angular vector.
Definition: avect.h:69
BASE_EXPORT QString clip(const QString &in, int length)
Definition: baseqstring.cpp:237
BASE_EXPORT QString readWord(QDataStream &ds, qint64 maxlen=0, const QString &separators=" \t\r\n")
Reads a single whitespace delimited word from the QDataStream (since QTextStream is bugged),...
Definition: baseqstring.cpp:393
BASE_EXPORT bool isULong(const QString &in, quint64 *ul=0)
Definition: baseqstring.cpp:319
BASE_EXPORT bool isInt(const QString &in, int *i=0)
Definition: baseqstring.cpp:298
#define BASE_EXPORT
Definition: basedef.h:21
BASE_EXPORT QString readLine(QDataStream &ds, qint64 maxlen=0)
Reads a single QString line from a QDataStream (since QTextStream is bugged), uses '\n' as an end-of-...
Definition: baseqstring.cpp:381
A symmetric 2nd order tensor.
Definition: symtensor.h:19
const T & y() const
Y component access.
Definition: vect.h:56
BASE_EXPORT QString toQString(const QString &s, int width=0, char fill=' ')
Converts from a base type to a QString, using the width and fill character specified.
Definition: baseqstring.cpp:11
2D vector utility class.
Definition: vect.h:31
const T & z() const
The z-component of the vector.
Definition: vect.h:186
Combines base interface with Qt – allows Qt to interact with other Base types transparently.
BASE_EXPORT bool isUInt(const QString &in, uint *u=0)
Definition: baseqstring.cpp:305
BASE_EXPORT bool match(const QString &keyword, const QString &token)
Performs "itasca match" of this string (as keyword) to token.
Definition: baseqstring.cpp:246
3D vector utility class.
Definition: vect.h:161
String toString(const QString &in)
converts a QString into a base string.
Definition: baseqstring.h:179
BASE_EXPORT bool isBool(const QString &in, bool *b=0, const QString &out="on,off,true,false,yes,no")
Definition: baseqstring.cpp:284
const T & x() const
X component access.
Definition: vect.h:54
2D Angular vector class.
Definition: avect.h:43
Definition: baseqstring.h:225
BASE_EXPORT bool isLong(const QString &in, qint64 *l=0)
Definition: baseqstring.cpp:312
3D Angular vector class.
Definition: avect.h:176
Definition: baseqstring.h:219
BASE_EXPORT QString build(const QString &s, const QVariant &v1=QVariant(), const QVariant &v2=QVariant(), const QVariant &v3=QVariant(), const QVariant &v4=QVariant(), const QVariant &v5=QVariant(), const QVariant &v6=QVariant())
Uses %1, %2, %3,... as replacement tokens.
Definition: baseqstring.cpp:340
const T & y() const
The y-component of the vector.
Definition: vect.h:184
const T & x() const
The x-component of the vector.
Definition: vect.h:182
Definition: baseqstring.h:213