OpenTTD
|
Class for pooled persistent storage of data. More...
#include <newgrf_storage.h>
Public Member Functions | |
PersistentStorage (const uint32 new_grfid, byte feature, TileIndex tile) | |
We don't want GCC to zero our struct! It already is zeroed and has an index! | |
![]() | |
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. | |
int32 | GetValue (uint pos) const |
Gets the value from a given position. | |
void | ClearChanges () |
Discard temporary changes. | |
![]() | |
virtual | ~BasePersistentStorageArray () |
Remove references to use. | |
![]() | |
void * | operator new (size_t size) |
Allocates space for new Titem. | |
void * | operator new (size_t size, size_t index) |
Allocates space for new Titem with given index. | |
void * | operator new (size_t size, void *ptr) |
Allocates space for new Titem at given memory address. | |
void | operator delete (void *p) |
Marks Titem as free. |
Additional Inherited Members | |
![]() | |
static void | SwitchMode (PersistentStorageMode mode, bool ignore_prev_mode=false) |
Clear temporary changes made since the last call to SwitchMode, and set whether subsequent changes shall be persistent or temporary. | |
![]() | |
static bool | CanAllocateItem (size_t n=1) |
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() | |
static bool | CleaningPool () |
Returns current state of pool cleaning - yes or no. | |
static bool | IsValidID (size_t index) |
Tests whether given index can be used to get valid (non-NULL) Titem. | |
static Titem * | Get (size_t index) |
Returns Titem with given index. | |
static Titem * | GetIfValid (size_t index) |
Returns Titem with given index. | |
static size_t | GetPoolSize () |
Returns first unused index. | |
static size_t | GetNumItems () |
Returns number of valid items in the pool. | |
static void | PostDestructor (size_t index) |
Dummy function called after destructor of each member. | |
![]() | |
int32 | storage [SIZE] |
Memory to for the storage array. | |
int32 * | prev_storage |
Memory to store "old" states so we can revert them on the performance of test cases for commands etc. | |
![]() | |
Tindex | index |
Index of this pool item. | |
![]() | |
static bool | AreChangesPersistent () |
Check whether currently changes to the storage shall be persistent or temporary till the next call to ClearChanges(). |
Class for pooled persistent storage of data.
Definition at line 223 of file newgrf_storage.h.