OpenTTD Source: SlStorageHelper< Tstorage, Tvar, Tallocator > Class Template Reference

OpenTTD Source 15.0-beta1

Static Public Member Functions | Private Types
SlStorageHelper< Tstorage, Tvar, Tallocator > Class Template Reference

Template class to help with list-like types. More...

## Static Public Member Functions
static size_t | SlCalcLen (const void *storage, VarType conv, SaveLoadType cmd=SL_VAR)
| Internal templated helper to return the size in bytes of a list-like type.
static void | SlSaveLoadMember (SaveLoadType cmd, Tvar *item, VarType conv)
static void | SlSaveLoad (void *storage, VarType conv, SaveLoadType cmd=SL_VAR)
| Internal templated helper to save/load a list-like type.

## Private Types
typedef Tstorage< Tvar, Tallocator > | SlStorageT

## Detailed Description

template<template< typename, typename > typename Tstorage, typename Tvar, typename Tallocator = std::allocator<Tvar>>
class SlStorageHelper< Tstorage, Tvar, Tallocator >

Template class to help with list-like types.

Definition at line 1239 of file saveload.cpp.

## Member Typedef Documentation

## ◆ SlStorageT

template<template< typename, typename > typename Tstorage, typename Tvar , typename Tallocator = std::allocator<Tvar>>

typedef Tstorage<Tvar, Tallocator> SlStorageHelper< Tstorage, Tvar, Tallocator >::SlStorageT
| private

Definition at line 1240 of file saveload.cpp.

## Member Function Documentation

## ◆ SlCalcLen()

template<template< typename, typename > typename Tstorage, typename Tvar , typename Tallocator = std::allocator<Tvar>>

static size_t SlStorageHelper< Tstorage, Tvar, Tallocator >::SlCalcLen | ( | const void * | storage,
|  | VarType | conv,
|  | SaveLoadType | cmd = `SL_VAR`
| ) |  |
| inlinestatic

Internal templated helper to return the size in bytes of a list-like type.

Parameters

  storage | The storage to find the size of
  conv | VarType type of variable that is used for calculating the size
  cmd | The SaveLoadType ware are saving/loading.

Definition at line 1248 of file saveload.cpp.

References SL_REF, SL_VAR, and SlCalcConvFileLen().

Referenced by SlCalcDequeLen(), SlCalcRefListLen(), SlCalcRefVectorLen(), and SlCalcVectorLen().

## ◆ SlSaveLoad()

template<template< typename, typename > typename Tstorage, typename Tvar , typename Tallocator = std::allocator<Tvar>>

static void SlStorageHelper< Tstorage, Tvar, Tallocator >::SlSaveLoad | ( | void * | storage,
|  | VarType | conv,
|  | SaveLoadType | cmd = `SL_VAR`
| ) |  |
| inlinestatic

Internal templated helper to save/load a list-like type.

Parameters

  storage | The storage being manipulated.
  conv | VarType type of variable that is used for calculating the size.
  cmd | The SaveLoadType ware are saving/loading.

Definition at line 1276 of file saveload.cpp.

References _sl, SaveLoadParams::action, IsSavegameVersionBefore(), SL_REF, SL_STDSTR, SL_VAR, SLA_LOAD, SLA_LOAD_CHECK, SLA_NULL, SLA_PTRS, SLA_SAVE, SLV_69, and SLV_SAVELOAD_LIST_LENGTH.

Referenced by SlDeque(), SlRefList(), SlRefVector(), and SlVector().

## ◆ SlSaveLoadMember()

template<template< typename, typename > typename Tstorage, typename Tvar , typename Tallocator = std::allocator<Tvar>>

static void SlStorageHelper< Tstorage, Tvar, Tallocator >::SlSaveLoadMember | ( | SaveLoadType | cmd,
|  | Tvar * | item,
|  | VarType | conv
| ) |  |
| inlinestatic

Definition at line 1259 of file saveload.cpp.

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

- src/saveload/saveload.cpp