OpenTTD Source: src/misc/dbg_helpers.h File Reference

OpenTTD Source 15.3

Data Structures | Functions
dbg_helpers.h File Reference

Functions to be used for debug printings. More...

`#include <stack>`
`#include "../direction_type.h"`
`#include "../signal_type.h"`
`#include "../tile_type.h"`
`#include "../track_type.h"`
`#include "../core/format.hpp"`

Go to the source code of this file.

## Data Structures
struct | DumpTarget
| Class that represents the dump-into-string target. More...
struct | DumpTarget::KnownStructKey
| Used as a key into map of known object instances. More...

## Functions
template<typename E >
std::string_view | ItemAt (E idx, std::span< const std::string_view > t, std::string_view t_unk)
| Helper template function that returns item of array at given index or t_unk when index is out of bounds.
template<typename E >
std::string_view | ItemAt (E idx, std::span< const std::string_view > t, std::string_view t_unk, E idx_inv, std::string_view t_inv)
| Helper template function that returns item of array at given index or t_inv when index == idx_inv or t_unk when index is out of bounds.
template<typename E >
std::string | ComposeName (E value, std::span< const std::string_view > t, std::string_view t_unk, E val_inv, std::string_view name_inv)
| Helper template function that returns compound bitfield name that is concatenation of names of each set bit in the given value or t_inv when index == idx_inv or t_unk when index is out of bounds.
template<typename E >
std::string | ComposeName (E value, std::span< const std::string_view > names, std::string_view unknown_name)
| Helper template function that returns compound bitfield name that is concatenation of names of each set bit in the given value or unknown_name when index is out of bounds.
std::string | ValueStr (Trackdir td)
| Return name of given Trackdir.
std::string | ValueStr (TrackdirBits td_bits)
| Return composed name of given TrackdirBits.
std::string | ValueStr (DiagDirection dd)
| Return name of given DiagDirection.
std::string | ValueStr (SignalType t)
| Return name of given SignalType.

## Detailed Description

Functions to be used for debug printings.

Definition in file dbg_helpers.h.

## Function Documentation

## ◆ ComposeName() [1/2]

template<typename E >

std::string ComposeName | ( | E | value,
|  | std::span< const std::string_view > | names,
|  | std::string_view | unknown_name
| ) |  |
| inline

Helper template function that returns compound bitfield name that is concatenation of names of each set bit in the given value or unknown_name when index is out of bounds.

Definition at line 83 of file dbg_helpers.h.

## ◆ ComposeName() [2/2]

template<typename E >

std::string ComposeName | ( | E | value,
|  | std::span< const std::string_view > | t,
|  | std::string_view | t_unk,
|  | E | val_inv,
|  | std::string_view | name_inv
| ) |  |
| inline

Helper template function that returns compound bitfield name that is concatenation of names of each set bit in the given value or t_inv when index == idx_inv or t_unk when index is out of bounds.

Definition at line 55 of file dbg_helpers.h.

Referenced by ValueStr().

## ◆ ItemAt() [1/2]

template<typename E >

std::string_view ItemAt | ( | E | idx,
|  | std::span< const std::string_view > | t,
|  | std::string_view | t_unk
| ) |  |
| inline

Helper template function that returns item of array at given index or t_unk when index is out of bounds.

Definition at line 26 of file dbg_helpers.h.

Referenced by ItemAt(), ValueStr(), ValueStr(), and ValueStr().

## ◆ ItemAt() [2/2]

template<typename E >

std::string_view ItemAt | ( | E | idx,
|  | std::span< const std::string_view > | t,
|  | std::string_view | t_unk,
|  | E | idx_inv,
|  | std::string_view | t_inv
| ) |  |
| inline

Helper template function that returns item of array at given index or t_inv when index == idx_inv or t_unk when index is out of bounds.

Definition at line 40 of file dbg_helpers.h.

References ItemAt().

## ◆ ValueStr() [1/4]

std::string ValueStr | ( | DiagDirection | dd | ) |

Return name of given DiagDirection.

Definition at line 42 of file dbg_helpers.cpp.

References diagdir_names, INVALID_DIAGDIR, ItemAt(), and to_underlying().

## ◆ ValueStr() [2/4]

std::string ValueStr | ( | SignalType | t | ) |

Return name of given SignalType.

Definition at line 54 of file dbg_helpers.cpp.

References ItemAt(), signal_type_names, and to_underlying().

## ◆ ValueStr() [3/4]

std::string ValueStr | ( | Trackdir | td | ) |

Return name of given Trackdir.

Definition at line 24 of file dbg_helpers.cpp.

References INVALID_TRACKDIR, ItemAt(), to_underlying(), and trackdir_names.

Referenced by DumpTarget::WriteEnumT().

## ◆ ValueStr() [4/4]

std::string ValueStr | ( | TrackdirBits | td_bits | ) |

Return composed name of given TrackdirBits.

Definition at line 30 of file dbg_helpers.cpp.

References ComposeName(), INVALID_TRACKDIR_BIT, to_underlying(), and trackdir_names.