OpenTTD Source  20241121-master-g67a0fccfad
string_type.h File Reference

Types for strings. More...

#include "core/enum_type.hpp"

Go to the source code of this file.

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

typedef std::vector< std::string > StringList
 Type for a list of strings.
 

Enumerations

enum  CharSetFilter {
  CS_ALPHANUMERAL , CS_NUMERAL , CS_NUMERAL_SPACE , CS_NUMERAL_SIGNED ,
  CS_ALPHA , CS_HEXADECIMAL
}
 Valid filter types for IsValidChar. More...
 
enum  StringValidationSettings {
  SVS_NONE = 0 , SVS_REPLACE_WITH_QUESTION_MARK = 1 << 0 , SVS_ALLOW_NEWLINE = 1 << 1 , SVS_ALLOW_CONTROL_CODE = 1 << 2 ,
  SVS_REPLACE_TAB_CR_NL_WITH_SPACE = 1 << 3
}
 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.
 

Detailed Description

Types for strings.

Definition in file string_type.h.

Enumeration Type Documentation

◆ CharSetFilter

Valid filter types for IsValidChar.

Enumerator
CS_ALPHANUMERAL 

Both numeric and alphabetic and spaces and stuff.

CS_NUMERAL 

Only numeric ones.

CS_NUMERAL_SPACE 

Only numbers and spaces.

CS_NUMERAL_SIGNED 

Only numbers and '-' for negative values.

CS_ALPHA 

Only alphabetic values.

CS_HEXADECIMAL 

Only hexadecimal characters.

Definition at line 24 of file string_type.h.

◆ StringValidationSettings

Settings for the string validation.

Enumerator
SVS_NONE 

Allow nothing and replace nothing.

SVS_REPLACE_WITH_QUESTION_MARK 

Replace the unknown/bad bits with question marks.

SVS_ALLOW_NEWLINE 

Allow newlines; replaces '\r
' with '
' during processing.

SVS_ALLOW_CONTROL_CODE 

Allow the special control codes.

SVS_REPLACE_TAB_CR_NL_WITH_SPACE 

Replace tabs ('\t'), carriage returns ('\r') and newlines ('
') with spaces.

When SVS_ALLOW_NEWLINE is set, a '
' or '\r
' combination are not replaced with a space. A lone '\r' is replaced with a space. When SVS_REPLACE_WITH_QUESTION_MARK is set, this replacement runs first.

Definition at line 44 of file string_type.h.