14 #ifndef ZenLib_ZtringH
15 #define ZenLib_ZtringH
28 typedef std::basic_string<Char, std::char_traits<Char>, std::allocator<Char> >
tstring;
72 #ifndef WSTRING_MISSING
75 #endif //WSTRING_MISSING
185 #ifdef SIZE_T_IS_LONG
188 #endif //SIZE_T_IS_LONG
220 Ztring&
Date_From_Numbers (
const int8u Year,
const int8u Month,
const int8u Day,
const int8u Hour,
const int8u Minute,
const int8u Second);
223 #ifndef WSTRING_MISSING
227 #endif //WSTRING_MISSING
315 #ifdef SIZE_T_IS_LONG
316 static Ztring ToZtring (
const size_t I, int8u Radix=10) {
return Ztring().From_Number(I, Radix);}
317 #endif //SIZE_T_IS_LONG
Ztring & TrimRight(Char ToTrim=__T(' '))
Remove trailing whitespaces from a string.
Case sensitive ("A" and "a" are different)
Definition: Ztring.h:37
size_type Count(const Ztring &ToCount, ztring_t Options=Ztring_Nothing) const
Count the number of occurencies of a string in the string.
Ztring & Date_From_Seconds_1970(const int32u Seconds)
convert count of seconds since 1970 into a readable and sortable string
Ztring & From_CC3(const char *S)
convert an 2 Character Code into Ztring
Definition: Ztring.h:144
char Char
Definition: Conf.h:225
static Ztring ToZtring(const int32u I, int8u Radix=10)
Definition: Ztring.h:308
Ztring & Date_From_Seconds_1904(const int32u Seconds)
convert count of seconds since 1904 into a readable and sortable string
Ztring & From_CC2(const int8u *S)
convert an 2 Character Code into Ztring
Definition: Ztring.h:152
Ztring & Date_From_Numbers(const int8u Year, const int8u Month, const int8u Day, const int8u Hour, const int8u Minute, const int8u Second)
convert numbers into a readable and sortable string
Ztring & From_UTF16BE(const char *S)
convert an UTF-16BE encoded string into Ztring
float80 To_float80(ztring_t Options=Ztring_Nothing) const
const std::size_t Error
Definition: Conf.h:199
static Ztring ToZtring(const int8s I, int8u Radix=10)
Definition: Ztring.h:303
Ztring & Duration_From_Milliseconds(const int64s Milliseconds)
convert count of milliseconds into a readable and sortable string
Ztring & From_ISO_8859_2(const char *S)
convert an ISO-8859-2 encoded string into Ztring
float64 To_float64(ztring_t Options=Ztring_Nothing) const
Ztring & From_CC2(const char *S)
convert an 2 Character Code into Ztring
Definition: Ztring.h:150
static Ztring ToZtring(const float64 F, int8u AfterComma=3)
Definition: Ztring.h:313
int32u To_CC4() const
Convert into a 4 Character Code.
Ztring & Date_From_Milliseconds_1601(const int64u Milliseconds)
convert count of seconds since 1601 into a readable and sortable string
Ztring & From_Unicode(const wchar_t *S, size_type Length)
convert an Unicode encoded string into Ztring
Definition: Ztring.h:83
static Ztring ToZtring(const int16s I, int8u Radix=10)
Definition: Ztring.h:305
static Ztring ToZtring(const int128u I, int8u Radix=10)
Definition: Ztring.h:311
Ztring & From_Local(const std::string &S)
convert an Locael encoded string into Ztring
Definition: Ztring.h:111
Ztring & From_UTF16BE(const char *S, size_type Length)
convert an UTF-16BE encoded string into Ztring
Definition: Ztring.h:103
static Ztring ToZtring_From_CC3(const int8u *S)
Definition: Ztring.h:295
size_type FindAndReplace(const tstring &ToFind, const tstring &ReplaceBy, size_type Pos=0, ztring_t Options=Ztring_Nothing)
replace a string by another one
static Ztring ToZtring_From_Local(const char *S, size_type Length)
Definition: Ztring.h:290
Ztring & MakeLowerCase()
convert into lowercase
Ztring & MakeUpperCase()
convert into uppercase
static Ztring ToZtring_From_Local(const char *S)
Definition: Ztring.h:288
static Ztring ToZtring(const float32 F, int8u AfterComma=3)
Definition: Ztring.h:312
static Ztring ToZtring_From_CC4(const int32u S)
Definition: Ztring.h:293
int8u To_int8u(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into unsigned Int (8 bits)
static Ztring ToZtring_From_CC1(const char *S)
Definition: Ztring.h:300
std::string To_Local() const
Convert into char* (Local encoded)
Ztring & From_BCD(const int8u)
convert number (BCD coded) into Ztring
static Ztring ToZtring_From_CC2(const char *S)
Definition: Ztring.h:297
Ztring & TrimLeft(Char ToTrim=__T(' '))
Remove leading whitespaces from a string.
Ztring & From_UTF16LE(const char *S, size_type Length)
convert an UTF-16LE encoded string into Ztring
Definition: Ztring.h:109
Ztring & From_ISO_8859_1(const char *S, size_type Length)
convert an ISO-8859-1 encoded string into Ztring
Definition: Ztring.h:124
Do all strings.
Definition: Ztring.h:39
static Ztring ToZtring(const int64u I, int8u Radix=10)
Definition: Ztring.h:310
Ztring & From_CC3(const int8u *S)
convert an 4 Character Code into Ztring
Definition: Ztring.h:146
Ztring & From_UTF8(const std::string &S)
convert an UTF-8 encoded string into Ztring
Definition: Ztring.h:85
std::basic_string< Char, std::char_traits< Char >, std::allocator< Char > > tstring
Definition: Ztring.h:28
std::string To_UTF8() const
Convert into char* (UTF-8 encoded)
int16u CC2(const char *C)
Definition: Utils.h:262
int32s To_int32s(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into Int (32 bits)
float32 To_float32(ztring_t Options=Ztring_Nothing) const
Convert into float.
Ztring & From_CC4(const char *S)
convert an 4 Character Code into Ztring
Definition: Ztring.h:138
Ztring(const tstring &str, size_type pos, size_type n=npos)
Definition: Ztring.h:55
Ztring & From_Unicode(const std::wstring &S)
convert an Unicode encoded string into Ztring
Definition: Ztring.h:74
ztring_t
Options for Ztring methods.
Definition: Ztring.h:33
Ztring & From_ISO_8859_1(const char *S)
convert an ISO-8859-1 encoded string into Ztring
Ztring()
Definition: Ztring.h:53
static Ztring ToZtring_From_CC4(const int8u *S)
Definition: Ztring.h:292
Ztring & From_UTF8(const char *S, size_type Length)
convert an UTF-8 encoded string into Ztring
Definition: Ztring.h:91
int128u To_int128u(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into unsigned Int (64 bits)
Ztring & From_CC1(const char *S)
convert an 1 Character Code into Ztring
Definition: Ztring.h:156
std::wstring To_Unicode() const
Convert into Unicode chars.
int128u To_UUID() const
Convert into 16 byte UUID number.
Ztring & From_UUID(const int128u S)
convert an 16 byte UUID into Ztring
Ztring & Trim(Char ToTrim=__T(' '))
Remove leading and trailing whitespaces from a string.
Ztring & Date_From_Seconds_1601(const int64u Seconds)
convert count of seconds since 1601 into a readable and sortable string
static Ztring ToZtring_From_Local(const char *S, size_type Start, size_type Length)
Definition: Ztring.h:289
int64u To_int64u(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into unsigned Int (64 bits)
Ztring & Quote(Char ToTrim=__T('\"'))
Quotes a string.
Ztring & From_GUID(const int128u S)
convert an 16 byte GUID into Ztring
static Ztring ToZtring_From_CC2(const int8u *S)
Definition: Ztring.h:298
Ztring & From_ISO_8859_2(const char *S, size_type Length)
convert an ISO-8859-1 encoded string into Ztring
Definition: Ztring.h:131
static Ztring ToZtring_From_CC1(const int8u S)
Definition: Ztring.h:302
String manipulation (based on std::(w)string)
Definition: Ztring.h:49
int16s To_int16s(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into Int (16 bits)
int8u CC1(const char *C)
Definition: Utils.h:263
int32u To_int32u(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into unsigned Int (32 bits)
Char & operator()(size_type Pos)
Same as [], but resize the string if Pos doesn't exist yet.
Ztring & Date_From_Seconds_1970_Local(const int32u Seconds)
convert count of seconds since 1970 into a readable and sortable string (in local time) ...
int16u To_int16u(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into unsigned Int (16 bits)
Ztring & From_Number(const int8s, int8u Radix=10)
convert number into Ztring
#define __T(__x)
Definition: Conf.h:227
Ztring & From_CC1(const int8u *S)
convert an 1 Character Code into Ztring
Definition: Ztring.h:158
Ztring & From_UTF16(const char *S)
convert an UTF-16 encoded string into Ztring
Ztring & From_UTF16(const char *S, size_type Length)
convert an UTF-16 encoded string into Ztring
Definition: Ztring.h:97
Ztring & From_UTF16LE(const char *S)
convert an UTF-16LE encoded string into Ztring
bool IsNumber() const
test if it is a number
static Ztring ToZtring_From_CC3(const char *S)
Definition: Ztring.h:294
Ztring(const Char *s, size_type n)
Definition: Ztring.h:56
Ztring & Date_From_String(const char *Date, size_type Value_Size=Error)
convert a free formated string into a readable and sortable string
bool Assign_FromFile(const Ztring &FileName)
Ztring & From_CC4(const int8u *S)
convert an 4 Character Code into Ztring
Definition: Ztring.h:140
static Ztring ToZtring(const float80 F, int8u AfterComma=3)
Definition: Ztring.h:314
bool Compare(const Ztring &ToCompare, const Ztring &Comparator=__T("=="), ztring_t Options=Ztring_Nothing) const
compare with another string
static Ztring ToZtring_From_CC1(const int8u *S)
Definition: Ztring.h:301
Ztring(const Char *s)
Definition: Ztring.h:57
if Begin is found and End is not found, return between Begin and end of string
Definition: Ztring.h:38
static Ztring ToZtring_From_CC3(const int32u S)
Definition: Ztring.h:296
static Ztring ToZtring_From_CC4(const char *S)
Definition: Ztring.h:291
int64s To_int64s(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into Int (64 bits)
if >.5, upper, else lower
Definition: Ztring.h:36
static Ztring ToZtring(const int16u I, int8u Radix=10)
Definition: Ztring.h:306
static Ztring ToZtring(const int8u I, int8u Radix=10)
Definition: Ztring.h:304
Ztring & Date_From_Seconds_1900(const int32u Seconds)
convert count of seconds since 1900 into a readable and sortable string
static Ztring ToZtring(const int32s I, int8u Radix=10)
Definition: Ztring.h:307
Ztring & From_Local(const char *S, size_type Length)
convert an Local encoded string into Ztring
Definition: Ztring.h:117
Ztring(size_type n, Char c)
Definition: Ztring.h:58
Ztring SubString(const tstring &Begin, const tstring &End, size_type Pos=0, ztring_t Options=Ztring_Nothing) const
return a string between two strings
Ztring(const tstring &str)
Definition: Ztring.h:54
static Ztring ToZtring(const int64s I, int8u Radix=10)
Definition: Ztring.h:309
static Ztring ToZtring_From_CC2(const int16u S)
Definition: Ztring.h:299
static Ztring ToZtring_From_Local(const std::string &S)
Definition: Ztring.h:287
int8s To_int8s(int8u Radix=10, ztring_t Options=Ztring_Rounded) const
Convert into Int (8 bits)