#include <unicharset.h>
Definition at line 48 of file unicharset.h.
◆ equals() [1/2]
bool CHAR_FRAGMENT::equals |
( |
const char * |
other_unichar, |
|
|
int |
other_pos, |
|
|
int |
other_total |
|
) |
| const |
|
inline |
Definition at line 85 of file unicharset.h.
87 return (strcmp(this->unichar, other_unichar) == 0 &&
88 this->pos == other_pos && this->total == other_total);
◆ equals() [2/2]
◆ get_pos()
int CHAR_FRAGMENT::get_pos |
( |
| ) |
const |
|
inline |
◆ get_total()
int CHAR_FRAGMENT::get_total |
( |
| ) |
const |
|
inline |
Definition at line 72 of file unicharset.h.
72 {
return this->total; }
◆ get_unichar()
const char* CHAR_FRAGMENT::get_unichar |
( |
| ) |
const |
|
inline |
Definition at line 70 of file unicharset.h.
70 {
return this->unichar; }
◆ is_beginning()
bool CHAR_FRAGMENT::is_beginning |
( |
| ) |
const |
|
inline |
Definition at line 105 of file unicharset.h.
105 {
return this->pos == 0; }
◆ is_continuation_of()
bool CHAR_FRAGMENT::is_continuation_of |
( |
const CHAR_FRAGMENT * |
fragment | ) |
const |
|
inline |
◆ is_ending()
bool CHAR_FRAGMENT::is_ending |
( |
| ) |
const |
|
inline |
Definition at line 108 of file unicharset.h.
108 {
return this->pos == this->total-1; }
◆ is_natural()
bool CHAR_FRAGMENT::is_natural |
( |
| ) |
const |
|
inline |
◆ parse_from_string()
CHAR_FRAGMENT * CHAR_FRAGMENT::parse_from_string |
( |
const char * |
str | ) |
|
|
static |
Definition at line 1057 of file unicharset.cpp.
1058 const char *ptr =
string;
1059 int len = strlen(
string);
1060 if (len <
kMinLen || *ptr != kSeparator) {
1065 while ((ptr + step) < (
string + len) && *(ptr + step) != kSeparator) {
1066 step += UNICHAR::utf8_step(ptr + step);
1072 strncpy(unichar, ptr, step);
1073 unichar[step] =
'\0';
1077 bool natural =
false;
1078 char *end_ptr =
nullptr;
1079 for (
int i = 0; i < 2; i++) {
1080 if (ptr >
string + len || *ptr != kSeparator) {
1081 if (i == 1 && *ptr == kNaturalFlag)
1087 i == 0 ? pos = static_cast<int>(strtol(ptr, &end_ptr, 10))
1088 : total = static_cast<
int>(strtol(ptr, &end_ptr, 10));
1091 if (ptr !=
string + len) {
1095 fragment->set_all(unichar, pos, total, natural);
◆ set_all()
void CHAR_FRAGMENT::set_all |
( |
const char * |
unichar, |
|
|
int |
pos, |
|
|
int |
total, |
|
|
bool |
natural |
|
) |
| |
|
inline |
◆ set_natural()
void CHAR_FRAGMENT::set_natural |
( |
bool |
value | ) |
|
|
inline |
◆ set_pos()
void CHAR_FRAGMENT::set_pos |
( |
int |
p | ) |
|
|
inline |
◆ set_total()
void CHAR_FRAGMENT::set_total |
( |
int |
t | ) |
|
|
inline |
◆ set_unichar()
void CHAR_FRAGMENT::set_unichar |
( |
const char * |
uch | ) |
|
|
inline |
Definition at line 64 of file unicharset.h.
65 strncpy(this->unichar, uch,
sizeof(this->unichar));
◆ to_string() [1/2]
STRING CHAR_FRAGMENT::to_string |
( |
| ) |
const |
|
inline |
◆ to_string() [2/2]
STRING CHAR_FRAGMENT::to_string |
( |
const char * |
unichar, |
|
|
int |
pos, |
|
|
int |
total, |
|
|
bool |
natural |
|
) |
| |
|
static |
Definition at line 1044 of file unicharset.cpp.
1046 if (total == 1)
return STRING(unichar);
1048 result += kSeparator;
1051 snprintf(buffer,
kMaxLen,
"%c%d%c%d", kSeparator, pos,
1052 natural ? kNaturalFlag : kSeparator, total);
◆ kMaxChunks
const int CHAR_FRAGMENT::kMaxChunks = 5 |
|
static |
◆ kMaxLen
◆ kMinLen
const int CHAR_FRAGMENT::kMinLen = 6 |
|
static |
The documentation for this class was generated from the following files: