Added SparsePtr substraction operator

Former-commit-id: e2dadc06b1f1abbd257689e6eaee77ebbfa0af5b
This commit is contained in:
Lynix 2015-01-03 21:50:37 +01:00
parent e6090c80a8
commit ad3c70bbc8
2 changed files with 8 additions and 0 deletions

View File

@ -10,6 +10,7 @@
///FIXME: Est-ce que SparsePtr est vraiment le meilleur nom pour cette classe ?
#include <Nazara/Prerequesites.hpp>
#include <cstddef>
#include <type_traits>
template<typename T>
@ -46,6 +47,7 @@ class NzSparsePtr
NzSparsePtr operator+(int count) const;
NzSparsePtr operator-(int count) const;
std::ptrdiff_t operator-(const NzSparsePtr& ptr) const;
NzSparsePtr& operator+=(int count);
NzSparsePtr& operator-=(int count);

View File

@ -133,6 +133,12 @@ NzSparsePtr<T> NzSparsePtr<T>::operator-(int count) const
return NzSparsePtr(m_ptr - count*m_stride, m_stride);
}
template<typename T>
std::ptrdiff_t NzSparsePtr<T>::operator-(const NzSparsePtr& ptr) const
{
return (m_ptr - ptr.m_ptr)/m_stride;
}
template<typename T>
NzSparsePtr<T>& NzSparsePtr<T>::operator+=(int count)
{