13 #include <boost/functional/hash.hpp>
14 #include <boost/serialization/split_free.hpp>
99 template <
typename QStringType,
typename QCoreApp>
106 template <
typename QStringType>
109 return fromUtf16(qstr.utf16(),qstr.length());
122 inline void setFromUtf8(
const unsigned char* utf8,
int len = -1);
131 inline void setFromUtf16(
const unsigned short* utf16,
int len = -1);
135 inline void setFromUtf32(
const unsigned int* utf32,
int len = -1);
143 inline void setFromAscii(
const char* ascii,
int len = -1);
146 template <
typename QStringType>
170 template <
typename QStringType>
177 template <
typename QStringType>
202 inline size_t length()
const;
252 inline explicit DtUnicode(
const unsigned short* utf16,
int len = -1);
255 inline explicit DtUnicode(
const unsigned int* utf32,
int len = -1);
274 inline void resize(
size_t newSize);
287 inline size_t size()
const;
296 inline bool unique()
const;
299 inline bool empty()
const;
308 volatile long*
count;
327 size_t seed = 2166136261U;
329 size_t last = val.
length();
330 size_t stride = 1 + last / 10;
336 for(; first < last ; first +=
stride )