OpenTTD Source 20241224-master-gee860a5c8e
StringReader Struct Referenceabstract

Helper for reading strings. More...

#include <strgen.h>

Inheritance diagram for StringReader:
FileStringReader StringListReader

Public Member Functions

 StringReader (StringData &data, const std::string &file, bool master, bool translation)
 Prepare reading.
 
void HandleString (char *str)
 
virtual std::optional< std::string > ReadLine ()=0
 Read a single line from the source of strings.
 
virtual void HandlePragma (char *str)
 Handle the pragma of the file.
 
virtual void ParseFile ()
 Start parsing the file.
 

Data Fields

StringDatadata
 The data to fill during reading.
 
const std::string file
 The file we are reading.
 
bool master
 Are we reading the master file?
 
bool translation
 Are we reading a translation, implies !master. However, the base translation will have this false.
 

Detailed Description

Helper for reading strings.

Definition at line 58 of file strgen.h.

Constructor & Destructor Documentation

◆ StringReader()

StringReader::StringReader ( StringData data,
const std::string &  file,
bool  master,
bool  translation 
)

Prepare reading.

Parameters
dataThe data to fill during reading.
fileThe file we are reading.
masterAre we reading the master file?
translationAre we reading a translation?

Definition at line 532 of file strgen_base.cpp.

Member Function Documentation

◆ HandlePragma()

void StringReader::HandlePragma ( char *  str)
virtual

Handle the pragma of the file.

Parameters
strThe pragma string to parse.

Reimplemented in FileStringReader.

Definition at line 733 of file strgen_base.cpp.

References _lang, _plural_forms, lengthof, and LanguagePackHeader::plural_form.

Referenced by FileStringReader::HandlePragma().

◆ HandleString()

void StringReader::HandleString ( char *  str)

Definition at line 640 of file strgen_base.cpp.

◆ ParseFile()

◆ ReadLine()

virtual std::optional< std::string > StringReader::ReadLine ( )
pure virtual

Read a single line from the source of strings.

Returns
The line, or std::nullopt if at the end of the file.

Implemented in StringListReader, and FileStringReader.

Referenced by ParseFile().

Field Documentation

◆ data

StringData& StringReader::data

The data to fill during reading.

Definition at line 59 of file strgen.h.

Referenced by FileStringReader::HandlePragma(), and ParseFile().

◆ file

const std::string StringReader::file

The file we are reading.

Definition at line 60 of file strgen.h.

Referenced by FileStringReader::FileStringReader(), and ParseFile().

◆ master

bool StringReader::master

Are we reading the master file?

Definition at line 61 of file strgen.h.

Referenced by FileStringReader::HandlePragma().

◆ translation

bool StringReader::translation

Are we reading a translation, implies !master. However, the base translation will have this false.

Definition at line 62 of file strgen.h.

Referenced by ParseFile().


The documentation for this struct was generated from the following files: