// EMERGENT GAME TECHNOLOGIES PROPRIETARY INFORMATION // // This software is supplied under the terms of a license agreement or // nondisclosure agreement with Emergent Game Technologies and may not // be copied or disclosed except in accordance with the terms of that // agreement. // // Copyright (c) 1996-2008 Emergent Game Technologies. // All Rights Reserved. // // Emergent Game Technologies, Chapel Hill, North Carolina 27517 // http://www.emergent.net //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator::NiTIndexGenerationIterator( T kValue) : m_kValue(kValue) { } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator::NiTIndexGenerationIterator() : m_kValue(T(0)) { } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator& NiTIndexGenerationIterator ::operator++() { m_kValue += 1; return *this; } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator& NiTIndexGenerationIterator ::operator--() { m_kValue -= 1; return *this; } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator NiTIndexGenerationIterator ::operator++(int) { NiTIndexGenerationIterator kResult(m_kValue); m_kValue += 1; return kResult; } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator NiTIndexGenerationIterator ::operator--(int) { NiTIndexGenerationIterator kResult(m_kValue); m_kValue -= 1; return kResult; } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator& NiTIndexGenerationIterator ::operator+=(ptrdiff_t dtElements) { m_kValue = (NiUInt32)(m_kValue + dtElements); return *this; } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator& NiTIndexGenerationIterator ::operator-=(ptrdiff_t dtElements) { m_kValue -= (NiUInt32)dtElements; return *this; } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator NiTIndexGenerationIterator ::operator+(ptrdiff_t dtElements) const { return NiTIndexGenerationIterator(m_kValue + dtElements); } //--------------------------------------------------------------------------- template inline NiTIndexGenerationIterator NiTIndexGenerationIterator ::operator-(ptrdiff_t dtElements) const { return NiTIndexGenerationIterator(m_kValue - dtElements); } //--------------------------------------------------------------------------- template inline ptrdiff_t NiTIndexGenerationIterator::operator-( const NiTIndexGenerationIterator& kRhs) const { return m_kValue - kRhs.m_kValue; } //--------------------------------------------------------------------------- template inline T NiTIndexGenerationIterator::operator*() const { return m_kValue; } //--------------------------------------------------------------------------- template inline const T* NiTIndexGenerationIterator::operator->() const { return &m_kValue; } //--------------------------------------------------------------------------- template inline T NiTIndexGenerationIterator::operator[](size_t stIndex) const { return m_kValue + stIndex; } //--------------------------------------------------------------------------- template inline bool NiTIndexGenerationIterator::operator==( const NiTIndexGenerationIterator& kRhs) const { return m_kValue == kRhs.m_kValue; } //--------------------------------------------------------------------------- template inline bool NiTIndexGenerationIterator::operator!=( const NiTIndexGenerationIterator& kRhs) const { return m_kValue != kRhs.m_kValue; } //--------------------------------------------------------------------------- template inline bool NiTIndexGenerationIterator::operator<( const NiTIndexGenerationIterator& kRhs) const { return m_kValue < kRhs.m_kValue; } //--------------------------------------------------------------------------- template inline bool NiTIndexGenerationIterator::operator>( const NiTIndexGenerationIterator& kRhs) const { return m_kValue > kRhs.m_kValue; } //--------------------------------------------------------------------------- template inline bool NiTIndexGenerationIterator::operator<=( const NiTIndexGenerationIterator& kRhs) const { return m_kValue <= kRhs.m_kValue; } //--------------------------------------------------------------------------- template inline bool NiTIndexGenerationIterator::operator>=( const NiTIndexGenerationIterator& kRhs) const { return m_kValue >= kRhs.m_kValue; } //---------------------------------------------------------------------------