Added SparsePtr substraction operator
Former-commit-id: e2dadc06b1f1abbd257689e6eaee77ebbfa0af5b
This commit is contained in:
parent
e6090c80a8
commit
ad3c70bbc8
|
|
@ -10,6 +10,7 @@
|
||||||
///FIXME: Est-ce que SparsePtr est vraiment le meilleur nom pour cette classe ?
|
///FIXME: Est-ce que SparsePtr est vraiment le meilleur nom pour cette classe ?
|
||||||
|
|
||||||
#include <Nazara/Prerequesites.hpp>
|
#include <Nazara/Prerequesites.hpp>
|
||||||
|
#include <cstddef>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
|
@ -46,6 +47,7 @@ class NzSparsePtr
|
||||||
|
|
||||||
NzSparsePtr operator+(int count) const;
|
NzSparsePtr operator+(int count) const;
|
||||||
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);
|
||||||
NzSparsePtr& operator-=(int count);
|
NzSparsePtr& operator-=(int count);
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,12 @@ NzSparsePtr<T> NzSparsePtr<T>::operator-(int count) const
|
||||||
return NzSparsePtr(m_ptr - count*m_stride, m_stride);
|
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>
|
template<typename T>
|
||||||
NzSparsePtr<T>& NzSparsePtr<T>::operator+=(int count)
|
NzSparsePtr<T>& NzSparsePtr<T>::operator+=(int count)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue