OpenTTD Source: StringData Struct Reference

OpenTTD Source 14.0-beta3

Public Member Functions | Data Fields
StringData Struct Reference

Information about the currently known strings. More...

`#include <strgen.h>`

## Public Member Functions
| StringData (size_t tabs)
| Create a new string data container. More...
void | FreeTranslation ()
| Free all data related to the translation.
void | Add (std::unique_ptr< LangString > ls)
| Add a newly created LangString. More...
LangString * | Find (const std::string_view s)
| Find a LangString based on the string name. More...
uint | VersionHashStr (uint hash, const char *s) const
| Create a compound hash. More...
uint | Version () const
| Make a hash of the file to get a unique "version number". More...
uint | CountInUse (uint tab) const
| Count the number of tab elements that are in use. More...

## Data Fields
std::vector< std::unique_ptr< LangString > > | strings
| List of all known strings.
std::unordered_map< std::string_view, LangString * > | name_to_string
| Lookup table for the strings.
size_t | tabs
| The number of 'tabs' of strings.
size_t | max_strings
| The maximum number of strings.
size_t | next_string_id
| The next string ID to allocate.

## Detailed Description

Information about the currently known strings.

Definition at line 41 of file strgen.h.

## Constructor & Destructor Documentation

## ◆ StringData()

StringData::StringData | ( | size_t | tabs | ) |

Create a new string data container.

Parameters

  tabs | The maximum number of strings.

Definition at line 70 of file strgen_base.cpp.

References max_strings, next_string_id, and strings.

## Member Function Documentation

## ◆ Add()

void StringData::Add | ( | std::unique_ptr< LangString > | ls | ) |

Add a newly created LangString.

Parameters

  s | The name of the string.
  ls | The string to add.

Definition at line 90 of file strgen_base.cpp.

References name_to_string, and strings.

## ◆ CountInUse()

uint StringData::CountInUse | ( | uint | tab | ) | const

Count the number of tab elements that are in use.

Parameters

  tab | The tab to count the elements of.

Definition at line 164 of file strgen_base.cpp.

References strings, and TAB_SIZE.

Referenced by LanguageWriter::WriteLang().

## ◆ Find()

LangString * StringData::Find | ( | const std::string_view | s | ) |

Find a LangString based on the string name.

Parameters

  s | The string name to search on.

Returns
  The LangString or nullptr if it is not known.

Definition at line 101 of file strgen_base.cpp.

References name_to_string.

## ◆ Version()

uint StringData::Version | ( |  | ) | const

Make a hash of the file to get a unique "version number".

Returns
  The version number.

Definition at line 128 of file strgen_base.cpp.

References LangString::english, MAX_COMMAND_PARAM_SIZE, max_strings, LangString::name, strings, and VersionHashStr().

Referenced by HeaderFileWriter::Finalise().

## ◆ VersionHashStr()

uint StringData::VersionHashStr | ( | uint | hash,
|  | const char * | s
| ) |  | const

Create a compound hash.

Parameters

  hash | The hash to add the string hash to.
  s | The string hash.

Returns
  The new hash.

Definition at line 115 of file strgen_base.cpp.

Referenced by Version().

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

- src/strgen/strgen.h
- src/strgen/strgen_base.cpp