#include "Data/ArrayDataIterator.h" ArrayDataIteratorValue::ArrayDataIteratorValue(std::unique_ptr impl) : m_Impl{std::move(impl)} { } ArrayDataIteratorValue::ArrayDataIteratorValue(const ArrayDataIteratorValue &other) : m_Impl{other.m_Impl->clone()} { } ArrayDataIteratorValue &ArrayDataIteratorValue::operator=(ArrayDataIteratorValue other) { m_Impl->swap(*other.m_Impl); return *this; } int ArrayDataIteratorValue::distance(const ArrayDataIteratorValue &other) const { return m_Impl->distance(*other.m_Impl); } bool ArrayDataIteratorValue::equals(const ArrayDataIteratorValue &other) const { return m_Impl->equals(*other.m_Impl); } bool ArrayDataIteratorValue::lowerThan(const ArrayDataIteratorValue &other) const { return m_Impl->lowerThan(*other.m_Impl); } ArrayDataIteratorValue ArrayDataIteratorValue::advance(int offset) const { return ArrayDataIteratorValue{m_Impl->advance(offset)}; } void ArrayDataIteratorValue::next(int offset) { m_Impl->next(offset); } void ArrayDataIteratorValue::prev() { m_Impl->prev(); } double ArrayDataIteratorValue::at(int componentIndex) const { return m_Impl->at(componentIndex); } double ArrayDataIteratorValue::first() const { return m_Impl->first(); } double ArrayDataIteratorValue::min() const { return m_Impl->min(); } double ArrayDataIteratorValue::max() const { return m_Impl->max(); } QVector ArrayDataIteratorValue::values() const { return m_Impl->values(); } ArrayDataIteratorValue::Impl *ArrayDataIteratorValue::impl() { return m_Impl.get(); }