OpenTTD Source 20260206-master-g4d4e37dbf1
LanguageWriter Struct Referenceabstract

Base class for all language writers. More...

#include <strgen.h>

Inheritance diagram for LanguageWriter:
LanguageFileWriter TranslationWriter

Public Member Functions

virtual void WriteHeader (const LanguagePackHeader *header)=0
 Write the header metadata.
virtual void Write (std::string_view buffer)=0
 Write a number of bytes.
virtual void Finalise ()=0
 Finalise writing the file.
virtual ~LanguageWriter ()=default
 Especially destroy the subclasses.
virtual void WriteLength (size_t length)
 Write the length as a simple gamma.
virtual void WriteLang (const StringData &data)
 Actually write the language.

Detailed Description

Base class for all language writers.

Definition at line 110 of file strgen.h.

Member Function Documentation

◆ Finalise()

virtual void LanguageWriter::Finalise ( )
pure virtual

Finalise writing the file.

Implemented in LanguageFileWriter, and TranslationWriter.

◆ Write()

virtual void LanguageWriter::Write ( std::string_view buffer)
pure virtual

Write a number of bytes.

Parameters
bufferThe buffer to write.

Implemented in LanguageFileWriter, and TranslationWriter.

Referenced by WriteLang(), and WriteLength().

◆ WriteHeader()

virtual void LanguageWriter::WriteHeader ( const LanguagePackHeader * header)
pure virtual

Write the header metadata.

The multi-byte integers are already converted to the little endian format.

Parameters
headerThe header to write.

Implemented in LanguageFileWriter, and TranslationWriter.

Referenced by WriteLang().

◆ WriteLang()

◆ WriteLength()

void LanguageWriter::WriteLength ( size_t length)
virtual

Write the length as a simple gamma.

Parameters
lengthThe number to write.

Reimplemented in TranslationWriter.

Definition at line 693 of file strgen_base.cpp.

References Write().

Referenced by WriteLang().


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