More editor progress

This commit is contained in:
elasota
2020-02-18 20:53:54 -05:00
parent 42826a5d58
commit 9daee7af4e
13 changed files with 68 additions and 46 deletions

View File

@@ -7,7 +7,7 @@ class ArrayViewIterator;
template<class T>
class ArrayView
{
{
public:
ArrayView(const T *items, size_t count);
ArrayView(const ArrayView<T> &other);
@@ -15,8 +15,8 @@ public:
size_t Count() const;
const T &operator[](size_t index) const;
ArrayViewIterator<T> begin() const;
ArrayViewIterator<T> end() const;
ArrayViewIterator<const T> begin() const;
ArrayViewIterator<const T> end() const;
private:
const T *m_items;
@@ -34,14 +34,14 @@ template<class T>
inline ArrayView<T>::ArrayView(const T *items, size_t count)
: m_items(items)
, m_count(count)
{
{
}
template<class T>
inline ArrayView<T>::ArrayView(const ArrayView<T> &other)
: m_items(other.m_items)
, m_count(other.m_count)
{
{
}
template<class T>
@@ -51,7 +51,7 @@ inline size_t ArrayView<T>::Count() const
}
template<class T>
const T &ArrayView<T>::operator[](size_t index) const
inline const T &ArrayView<T>::operator[](size_t index) const
{
#if GP_DEBUG_CONFIG
assert(index < m_count);
@@ -61,21 +61,21 @@ const T &ArrayView<T>::operator[](size_t index) const
}
template<class T>
inline ArrayViewIterator<T> ArrayView<T>::begin() const
inline ArrayViewIterator<const T> ArrayView<T>::begin() const
{
#if GP_DEBUG_CONFIG
return ArrayViewIterator<T>(m_items, m_count, 0);
return ArrayViewIterator<const T>(this->m_items, this->m_count, 0);
#else
return ArrayViewIterator<T>(m_items);
return ArrayViewIterator<const T>(this->m_items);
#endif
}
template<class T>
inline ArrayViewIterator<T> ArrayView<T>::end() const
inline ArrayViewIterator<const T> ArrayView<T>::end() const
{
#if GP_DEBUG_CONFIG
return ArrayViewIterator<T>(m_items, m_count, m_count);
return ArrayViewIterator<const T>(m_items, m_count, m_count);
#else
return ArrayViewIterator<T>(m_items + m_count);
return ArrayViewIterator<const T>(m_items + m_count);
#endif
}