OpenTTD Source: src/string_type.h File Reference

OpenTTD Source 14.1

Macros | Typedefs | Enumerations | Variables
string_type.h File Reference
`#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

enum 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

enum 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.