MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / SlCalcDequeLen

Function SlCalcDequeLen

src/saveload/saveload.cpp:1501–1521  ·  view source on GitHub ↗

* Return the size in bytes of a std::deque. * @param deque The std::deque to find the size of * @param conv VarType type of variable that is used for calculating the size */

Source from the content-addressed store, hash-verified

1499 * @param conv VarType type of variable that is used for calculating the size
1500 */
1501static inline size_t SlCalcDequeLen(const void *deque, VarType conv)
1502{
1503 switch (GetVarMemType(conv)) {
1504 case SLE_VAR_BL: return SlStorageHelper<std::deque, bool>::SlCalcLen(deque, conv);
1505 case SLE_VAR_I8: return SlStorageHelper<std::deque, int8_t>::SlCalcLen(deque, conv);
1506 case SLE_VAR_U8: return SlStorageHelper<std::deque, uint8_t>::SlCalcLen(deque, conv);
1507 case SLE_VAR_I16: return SlStorageHelper<std::deque, int16_t>::SlCalcLen(deque, conv);
1508 case SLE_VAR_U16: return SlStorageHelper<std::deque, uint16_t>::SlCalcLen(deque, conv);
1509 case SLE_VAR_I32: return SlStorageHelper<std::deque, int32_t>::SlCalcLen(deque, conv);
1510 case SLE_VAR_U32: return SlStorageHelper<std::deque, uint32_t>::SlCalcLen(deque, conv);
1511 case SLE_VAR_I64: return SlStorageHelper<std::deque, int64_t>::SlCalcLen(deque, conv);
1512 case SLE_VAR_U64: return SlStorageHelper<std::deque, uint64_t>::SlCalcLen(deque, conv);
1513
1514 case SLE_VAR_STR:
1515 /* Strings are a length-prefixed field type in the savegame table format,
1516 * these may not be directly stored in another length-prefixed container type. */
1517 NOT_REACHED();
1518
1519 default: NOT_REACHED();
1520 }
1521}
1522
1523/**
1524 * Save/load a std::deque.

Callers 1

SlCalcObjMemberLengthFunction · 0.85

Calls 2

GetVarMemTypeFunction · 0.85
NOT_REACHEDFunction · 0.85

Tested by

no test coverage detected