OpenTTD Source  20240915-master-g3784a3d3d6
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. More...
 
 ~AutoRestoreBackup ()
 Restore the variable upon object destruction.
 

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
 
original_value
 

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 150 of file backup_type.hpp.

Constructor & Destructor Documentation

◆ AutoRestoreBackup()

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

Backup variable and switch to new value.

Parameters
originalVariable to backup.
new_valueNew value for variable.

Definition at line 162 of file backup_type.hpp.


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