OpenTTD
Public Member Functions
PersistentStorage Struct Reference

Class for pooled persistent storage of data. More...

#include <newgrf_storage.h>

Inheritance diagram for PersistentStorage:
PersistentStorageArray< int32, 16 > Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_persistent_storage_pool > BasePersistentStorageArray

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!
- Public Member Functions inherited from PersistentStorageArray< int32, 16 >
 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.
- Public Member Functions inherited from BasePersistentStorageArray
virtual ~BasePersistentStorageArray ()
 Remove references to use.
- Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_persistent_storage_pool >
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 Public Member Functions inherited from BasePersistentStorageArray
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 Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_persistent_storage_pool >
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.
- Data Fields inherited from PersistentStorageArray< int32, 16 >
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.
- Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_persistent_storage_pool >
Tindex index
 Index of this pool item.
- Static Protected Member Functions inherited from BasePersistentStorageArray
static bool AreChangesPersistent ()
 Check whether currently changes to the storage shall be persistent or temporary till the next call to ClearChanges().

Detailed Description

Class for pooled persistent storage of data.

Definition at line 223 of file newgrf_storage.h.


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