Public Member Functions | Data Fields

PersistentStorageArray< TYPE, SIZE > Struct Template Reference

Class for persistent storage of data. More...

#include <newgrf_storage.h>

Inheritance diagram for PersistentStorageArray< TYPE, SIZE >:
BasePersistentStorageArray

Public Member Functions

 PersistentStorageArray ()
 Simply construct the array.
 ~PersistentStorageArray ()
 And free all data related to it.
void ResetToZero ()
 Resets all values to zero.
void StoreValue (uint pos, int32 value)
 Stores some value at a given position.
TYPE GetValue (uint pos) const
 Gets the value from a given position.
void ClearChanges (bool keep_changes)
 Clear the changes, or assign them permanently to the storage.

Data Fields

TYPE storage [SIZE]
 Memory to for the storage array.
TYPE * prev_storage
 Memory to store "old" states so we can revert them on the performance of test cases for commands etc.

Detailed Description

template<typename TYPE, uint SIZE>
struct PersistentStorageArray< TYPE, SIZE >

Class for persistent storage of data.

On ClearChanges that data is either reverted or saved.

Template Parameters:
TYPE the type of variable to store.
SIZE the size of the array.

Definition at line 46 of file newgrf_storage.h.


Member Function Documentation

template<typename TYPE, uint SIZE>
void PersistentStorageArray< TYPE, SIZE >::ClearChanges ( bool  keep_changes  )  [inline, virtual]

Clear the changes, or assign them permanently to the storage.

Parameters:
keep_changes Whether to assign or ditch the changes.

Implements BasePersistentStorageArray.

Definition at line 114 of file newgrf_storage.h.

template<typename TYPE, uint SIZE>
TYPE PersistentStorageArray< TYPE, SIZE >::GetValue ( uint  pos  )  const [inline]

Gets the value from a given position.

Parameters:
pos the position to get the data from
Returns:
the data from that position

Definition at line 102 of file newgrf_storage.h.

Referenced by AfterLoadGame(), IndustriesScopeResolver::GetVariable(), and AirportScopeResolver::GetVariable().

template<typename TYPE, uint SIZE>
void PersistentStorageArray< TYPE, SIZE >::ResetToZero (  )  [inline]

Resets all values to zero.

Definition at line 63 of file newgrf_storage.h.

template<typename TYPE, uint SIZE>
void PersistentStorageArray< TYPE, SIZE >::StoreValue ( uint  pos,
int32  value 
) [inline]

Stores some value at a given position.

If there is no backup of the data that backup is made and then we write the data.

Parameters:
pos the position to write at
value the value to write

Definition at line 75 of file newgrf_storage.h.

Referenced by TownScopeResolver::StorePSA(), IndustriesScopeResolver::StorePSA(), and AirportScopeResolver::StorePSA().


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