OpenTTD Source 20250428-master-ga5578166bb
|
Types for strings. More...
#include "core/enum_type.hpp"
Go to the source code of this file.
Data Structures | |
struct | StringHash |
Helper to provide transparent hashing for string types in e.g. More... | |
Macros | |
#define | NBSP "\u00a0" |
A non-breaking space. | |
#define | LRM "\u200e" |
A left-to-right marker, marks the next character as left-to-right. | |
Typedefs | |
using | StringValidationSettings = EnumBitSet< StringValidationSetting, uint8_t > |
typedef std::vector< std::string > | StringList |
Type for a list of strings. | |
Enumerations | |
enum | CharSetFilter : uint8_t { CS_ALPHANUMERAL , CS_NUMERAL , CS_NUMERAL_SPACE , CS_NUMERAL_SIGNED , CS_ALPHA , CS_HEXADECIMAL } |
Valid filter types for IsValidChar. More... | |
enum class | StringValidationSetting : uint8_t { ReplaceWithQuestionMark , AllowNewline , AllowControlCode , ReplaceTabCrNlWithSpace } |
Settings for the string validation. More... | |
Variables | |
static const char32_t | CHAR_TD_LRM = 0x200E |
The next character acts like a left-to-right character. | |
static const char32_t | CHAR_TD_RLM = 0x200F |
The next character acts like a right-to-left character. | |
static const char32_t | CHAR_TD_LRE = 0x202A |
The following text is embedded left-to-right. | |
static const char32_t | CHAR_TD_RLE = 0x202B |
The following text is embedded right-to-left. | |
static const char32_t | CHAR_TD_LRO = 0x202D |
Force the following characters to be treated as left-to-right characters. | |
static const char32_t | CHAR_TD_RLO = 0x202E |
Force the following characters to be treated as right-to-left characters. | |
static const char32_t | CHAR_TD_PDF = 0x202C |
Restore the text-direction state to before the last LRE, RLE, LRO or RLO. | |
Types for strings.
Definition in file string_type.h.
#define LRM "\u200e" |
A left-to-right marker, marks the next character as left-to-right.
Definition at line 19 of file string_type.h.
#define NBSP "\u00a0" |
A non-breaking space.
Definition at line 16 of file string_type.h.
typedef std::vector<std::string> StringList |
Type for a list of strings.
Definition at line 60 of file string_type.h.
using StringValidationSettings = EnumBitSet<StringValidationSetting, uint8_t> |
Definition at line 56 of file string_type.h.
enum CharSetFilter : uint8_t |
Valid filter types for IsValidChar.
Definition at line 24 of file string_type.h.
|
strong |
Settings for the string validation.
Enumerator | |
---|---|
ReplaceWithQuestionMark | Replace the unknown/bad bits with question marks. |
AllowNewline | Allow newlines; replaces '\r |
AllowControlCode | Allow the special control codes. |
ReplaceTabCrNlWithSpace | Replace tabs ('\t'), carriage returns ('\r') and newlines (' When StringValidationSetting::AllowNewline is set, a ' |
Definition at line 44 of file string_type.h.
|
static |
The following text is embedded left-to-right.
Definition at line 37 of file string_type.h.
Referenced by IsTextDirectionChar().
|
static |
The next character acts like a left-to-right character.
Definition at line 35 of file string_type.h.
Referenced by IsTextDirectionChar().
|
static |
Force the following characters to be treated as left-to-right characters.
Definition at line 39 of file string_type.h.
Referenced by IsTextDirectionChar().
|
static |
Restore the text-direction state to before the last LRE, RLE, LRO or RLO.
Definition at line 41 of file string_type.h.
Referenced by IsTextDirectionChar().
|
static |
The following text is embedded right-to-left.
Definition at line 38 of file string_type.h.
Referenced by IsTextDirectionChar().
|
static |
The next character acts like a right-to-left character.
Definition at line 36 of file string_type.h.
Referenced by IsTextDirectionChar().
|
static |
Force the following characters to be treated as right-to-left characters.
Definition at line 40 of file string_type.h.
Referenced by IsTextDirectionChar().