* 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 */
| 1499 | * @param conv VarType type of variable that is used for calculating the size |
| 1500 | */ |
| 1501 | static 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. |
no test coverage detected