36 #ifdef __ASTRING_H_HAVE_IMPL__ 37 #undef __ASTRING_H_HAVE_IMPL__ 40 #ifdef CIFTILIB_USE_QT 41 #define __ASTRING_H_HAVE_IMPL__ 45 typedef QString AString;
46 #define ASTRING_TO_CSTR(mystr) ((mystr).toLocal8Bit().constData()) 47 #define ASTRING_UTF8_RAW(mystr) ((mystr).toUtf8().constData()) 48 inline std::string AString_to_std_string(
const AString& mystr)
50 QByteArray temparray = mystr.toLocal8Bit();
51 return std::string(temparray.constData(), temparray.size());
53 inline AString AString_from_latin1(
const char* data,
const int& size)
55 return QString::fromLatin1(data, size);
57 inline AString AString_substr(
const AString& mystr,
const int& first,
const int& count = -1)
59 return mystr.mid(first, count);
61 inline bool AString_endsWith(
const AString& test,
const AString& pattern)
63 return test.endsWith(pattern);
66 AString AString_number(
const T& num)
68 return QString::number(num);
71 AString AString_number_fixed(
const T& num,
const int& numDecimals)
73 return QString::number(num,
'f', numDecimals);
76 #endif //CIFTILIB_USE_QT 78 #ifdef CIFTILIB_USE_XMLPP 79 #define __ASTRING_H_HAVE_IMPL__ 80 #include "glibmm/convert.h" 81 #include "glibmm/ustring.h" 85 typedef Glib::ustring AString;
86 #define ASTRING_TO_CSTR(mystr) (Glib::locale_from_utf8((mystr)).c_str()) 87 #define ASTRING_UTF8_RAW(mystr) ((mystr).data()) 88 inline std::string AString_to_std_string(
const AString& mystr)
90 return Glib::locale_from_utf8(mystr);
92 inline AString AString_from_latin1(
const char* data,
const int& size)
94 return Glib::convert(std::string(data, size),
"UTF-8",
"ISO-8859-1");
96 inline AString AString_substr(
const AString& mystr,
const Glib::ustring::size_type& first,
const Glib::ustring::size_type& count = std::string::npos)
98 return mystr.substr(first, count);
100 inline bool AString_endsWith(
const AString& test,
const AString& pattern)
102 return test.substr(test.size() - pattern.size()) == pattern;
104 template <
typename T>
105 AString AString_number(
const T& num)
107 return Glib::ustring::format(num);
109 template <
typename T>
110 AString AString_number_fixed(
const T& num,
const int& numDecimals)
112 return Glib::ustring::format(std::fixed, std::setprecision(numDecimals), num);
115 #endif //CIFTILIB_USE_XMLPP 117 #ifndef __ASTRING_H_HAVE_IMPL__ 118 #error "you must define either CIFTILIB_USE_QT or CIFTILIB_USE_XMLPP to select what unicode string implementation to use" 124 std::vector<AString> AString_split(
const AString& input,
const char& delim);
125 std::vector<AString> AString_split_whitespace(
const AString& input);
126 int64_t AString_toInt(
const AString& input,
bool& ok);
127 float AString_toFloat(
const AString& input,
bool& ok);
130 #endif //__ASTRING_H__ namespace for all CiftiLib functionality
Definition: CiftiBrainModelsMap.h:41