diff --git a/Base/Types/OwningVector.h b/Base/Types/OwningVector.h index 199fd73a1023eebba99fd26b83aa227962a205cf..9465702e572fb87c15bce5cfedf23cd6e1718e43 100644 --- a/Base/Types/OwningVector.h +++ b/Base/Types/OwningVector.h @@ -56,10 +56,16 @@ public: size_t size() const { return m_v.size(); } bool empty() const { return m_v.empty(); } - T* const& operator[](int i) const { return m_v.operator[](i); } - T* const& at(int i) const { return m_v.at(i); } - T* const& front() const { return m_v.front(); } - T* const& back() const { return m_v.back(); } + + const T* operator[](int i) const { return m_v.operator[](i); } + T* operator[](int i) { return m_v.operator[](i); } + const T* at(int i) const { return m_v.at(i); } + T* at(int i) { return m_v.at(i); } + const T* front() const { return m_v.front(); } + T* front() { return m_v.front(); } + const T* back() const { return m_v.back(); } + T* back() { return m_v.back(); } + int index_of(const T* t) const { return Vec::indexOfPtr(t, m_v); } void delete_element(T* e) diff --git a/Device/Mask/MaskStack.cpp b/Device/Mask/MaskStack.cpp index 22f67ce3a9f63db0ae23554b0e7436fff1a52a49..42aab5e59ee181f7ab19160dbe33acde3de6084c 100644 --- a/Device/Mask/MaskStack.cpp +++ b/Device/Mask/MaskStack.cpp @@ -83,6 +83,6 @@ size_t MaskStack::numberOfMasks() const std::pair<IShape2D*, bool> MaskStack::patternAt(size_t iMask) const { - MaskPattern* pat = m_stack.at(iMask); + const MaskPattern* pat = m_stack.at(iMask); return {pat->shape, pat->doMask}; }