OpenTTD: src/core/overflowsafe_type.hpp File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Data Structures | Typedefs | Functions
overflowsafe_type.hpp File Reference

An overflow safe integer-like type. More...

`#include "math_func.hpp"`

Go to the source code of this file.

## Data Structures
class | OverflowSafeInt< T, T_MAX, T_MIN >
| Overflow safe template for integers, i.e. More...

## Typedefs
typedef OverflowSafeInt< int64, INT64_MAX, INT64_MIN > | OverflowSafeInt64
typedef OverflowSafeInt< int32, INT32_MAX, INT32_MIN > | OverflowSafeInt32

## Functions
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator+ (int64 a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator- (int64 a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator* (int64 a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator/ (int64 a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator+ (int a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator- (int a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator* (int a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator/ (int a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator+ (uint a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator- (uint a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator* (uint a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator/ (uint a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator+ (byte a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator- (byte a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator* (byte a, OverflowSafeInt< T, T_MAX, T_MIN > b)
template<class T , int64 T_MAX, int64 T_MIN>
OverflowSafeInt< T, T_MAX, T_MIN > | operator/ (byte a, OverflowSafeInt< T, T_MAX, T_MIN > b)

## Detailed Description

An overflow safe integer-like type.

Definition in file overflowsafe_type.hpp.