OpenTTD Source 20260218-master-g2123fca5ea
AutoRestoreBackup< T > Struct Template Reference

Class to backup a specific variable and restore it upon destruction of this object to prevent stack values going out of scope before resetting the global to its original value. More...

#include <backup_type.hpp>

Public Member Functions

 AutoRestoreBackup (T &original, T new_value)
 Backup variable and switch to new value.
 ~AutoRestoreBackup ()
 Restore the variable upon object destruction.
const T & GetOriginalValue () const
 Returns the backupped value.

Private Member Functions

 AutoRestoreBackup (const AutoRestoreBackup &)=delete
AutoRestoreBackupoperator= (AutoRestoreBackup &)=delete

Static Private Member Functions

static void * operator new (std::size_t)=delete
static void * operator new[] (std::size_t)=delete

Private Attributes

T & original
 Reference to the value we are backing up.
original_value
 The value at the moment of making a backup.

Detailed Description

template<typename T>
struct AutoRestoreBackup< T >

Class to backup a specific variable and restore it upon destruction of this object to prevent stack values going out of scope before resetting the global to its original value.

Contrary to Backup this restores the variable automatically and there is no manual option to restore.

Definition at line 149 of file backup_type.hpp.

Constructor & Destructor Documentation

◆ AutoRestoreBackup()

template<typename T>
AutoRestoreBackup< T >::AutoRestoreBackup ( T & original,
T new_value )
inline

Backup variable and switch to new value.

Parameters
originalVariable to backup.
new_valueNew value for variable.

Definition at line 161 of file backup_type.hpp.

References original, and original_value.

◆ ~AutoRestoreBackup()

template<typename T>
AutoRestoreBackup< T >::~AutoRestoreBackup ( )
inline

Restore the variable upon object destruction.

Definition at line 169 of file backup_type.hpp.

References original_value.

Member Function Documentation

◆ GetOriginalValue()

template<typename T>
const T & AutoRestoreBackup< T >::GetOriginalValue ( ) const
inline

Returns the backupped value.

Returns
value from the backup.

Definition at line 178 of file backup_type.hpp.

References original_value.

Field Documentation

◆ original

template<typename T>
T& AutoRestoreBackup< T >::original
private

Reference to the value we are backing up.

Definition at line 184 of file backup_type.hpp.

Referenced by AutoRestoreBackup().

◆ original_value

template<typename T>
T AutoRestoreBackup< T >::original_value
private

The value at the moment of making a backup.

Definition at line 185 of file backup_type.hpp.

Referenced by AutoRestoreBackup(), GetOriginalValue(), and ~AutoRestoreBackup().


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