(svn r16678) -Codechange: Turn CargoArray into a class, so one does not have to deal with sizeof() wrt. typedef-ed arrays.

This commit is contained in:
frosch
2009-06-27 21:06:58 +00:00
parent 9b070b5405
commit a288e4d82f
14 changed files with 59 additions and 53 deletions

View File

@@ -55,7 +55,31 @@ enum CargoTypes {
CT_INVALID = 0xFF
};
/** Array for storing amounts of cargo */
typedef uint CargoArray[NUM_CARGO];
/** Class for storing amounts of cargo */
struct CargoArray {
private:
uint amount[NUM_CARGO];
public:
FORCEINLINE CargoArray()
{
this->Clear();
}
FORCEINLINE void Clear()
{
memset(this->amount, 0, sizeof(this->amount));
}
FORCEINLINE uint &operator[](CargoID cargo)
{
return this->amount[cargo];
}
FORCEINLINE const uint &operator[](CargoID cargo) const
{
return this->amount[cargo];
}
};
#endif /* CARGO_TYPE_H */