Mercurial > mm7
view NZIArray.h @ 1747:cecb080929c4
Party_stru0 renamed to PartyTimeStruct, fixed its members, renamed Party::field_3C to Party::PartyTimes, started Player::SetVariable refactoring start
author | Grumpy7 |
---|---|
date | Mon, 30 Sep 2013 05:48:32 +0200 |
parents | f8414042db1f |
children |
line wrap: on
line source
#pragma once #include <array> #include <assert.h> template<class _Ty, size_t _Size> class NZIArray : std::array<_Ty, _Size> { public: reference ZerothIndex() { return std::array<_Ty, _Size>::operator [](0); } reference operator[](size_type _Pos) { // subscript nonmutable sequence #if _ITERATOR_DEBUG_LEVEL == 2 assert(_Pos != 0 && "not allowed to access zeroth element"); #elif _ITERATOR_DEBUG_LEVEL == 1 _SCL_SECURE_VALIDATE_RANGE(_Pos != 0); #endif /* _ITERATOR_DEBUG_LEVEL */ __analysis_assume(_Pos != 0); return std::array<_Ty, _Size>::operator [](_Pos); } const_reference operator[](size_type _Pos) const { // subscript nonmutable sequence #if _ITERATOR_DEBUG_LEVEL == 2 assert(_Pos != 0 && "not allowed to access zeroth element"); #elif _ITERATOR_DEBUG_LEVEL == 1 _SCL_SECURE_VALIDATE_RANGE(_Pos != 0); #endif /* _ITERATOR_DEBUG_LEVEL */ __analysis_assume(_Pos != 0); return std::array<_Ty, _Size>::operator [](_Pos); } };