OpenTTD Source 20241224-master-gee860a5c8e
|
String iterator using CoreText as a backend. More...
#include <string_osx.h>
Data Structures | |
struct | CharInfo |
Break info for a character. More... | |
Public Member Functions | |
void | SetString (const char *s) override |
Set a new iteration string. | |
size_t | SetCurPosition (size_t pos) override |
Change the current string cursor. | |
size_t | Next (IterType what) override |
Advance the cursor by one iteration unit. | |
size_t | Prev (IterType what) override |
Move the cursor back by one iteration unit. | |
Static Public Member Functions | |
static std::unique_ptr< StringIterator > | Create () |
Static Public Member Functions inherited from StringIterator | |
static std::unique_ptr< StringIterator > | Create () |
Create a new iterator instance. | |
Private Attributes | |
std::vector< CharInfo > | str_info |
Break information for each code point. | |
std::vector< size_t > | utf16_to_utf8 |
Mapping from UTF-16 code point position to index in the UTF-8 source string. | |
size_t | cur_pos |
Current iteration position. | |
Additional Inherited Members | |
Public Types inherited from StringIterator | |
enum | IterType { ITER_CHARACTER , ITER_WORD } |
Type of the iterator. More... | |
Static Public Attributes inherited from StringIterator | |
static const size_t | END = SIZE_MAX |
Sentinel to indicate end-of-iteration. | |
String iterator using CoreText as a backend.
Definition at line 17 of file string_osx.h.
|
static |
Definition at line 476 of file string_osx.cpp.
|
overridevirtual |
Advance the cursor by one iteration unit.
Implements StringIterator.
Definition at line 448 of file string_osx.cpp.
References StringIterator::ITER_CHARACTER, and StringIterator::ITER_WORD.
|
overridevirtual |
Move the cursor back by one iteration unit.
Implements StringIterator.
Definition at line 462 of file string_osx.cpp.
References StringIterator::ITER_CHARACTER, and StringIterator::ITER_WORD.
|
overridevirtual |
Change the current string cursor.
pos | New cursor position. |
Implements StringIterator.
Definition at line 430 of file string_osx.cpp.
|
overridevirtual |
Set a new iteration string.
Must also be called if the string contents changed. The cursor is reset to the start of the string.
s | New string. |
< UTF-16 copy of the string.
Implements StringIterator.
Definition at line 371 of file string_osx.cpp.
References _osx_locale.
|
private |
Current iteration position.
Definition at line 27 of file string_osx.h.
|
private |
Break information for each code point.
Definition at line 24 of file string_osx.h.
|
private |
Mapping from UTF-16 code point position to index in the UTF-8 source string.
Definition at line 25 of file string_osx.h.