18 #ifndef itkImageScanlineConstIterator_h
19 #define itkImageScanlineConstIterator_h
22 #include <type_traits>
63 template <
typename TImage>
75 static constexpr
unsigned int ImageIteratorDimension = Superclass::ImageIteratorDimension;
101 m_SpanBeginOffset = 0;
111 m_SpanBeginOffset = this->m_BeginOffset;
112 m_SpanEndOffset = this->m_BeginOffset + static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
127 m_SpanEndOffset = this->m_Offset + static_cast<OffsetValueType>(this->m_Region.GetSize()[0]) -
128 (ind[0] - this->m_Region.GetIndex()[0]);
129 m_SpanBeginOffset = m_SpanEndOffset - static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
143 m_SpanEndOffset = this->m_Offset + static_cast<OffsetValueType>(this->m_Region.GetSize()[0]) -
144 (ind[0] - this->m_Region.GetIndex()[0]);
145 m_SpanBeginOffset = m_SpanEndOffset - static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
153 Superclass::GoToBegin();
156 m_SpanBeginOffset = this->m_BeginOffset;
157 m_SpanEndOffset = this->m_BeginOffset + static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
168 Superclass::GoToEnd();
171 m_SpanEndOffset = this->m_EndOffset;
172 m_SpanBeginOffset = m_SpanEndOffset - static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
185 this->m_Offset = m_SpanBeginOffset;
199 this->m_Offset = m_SpanEndOffset;
207 return this->m_Offset >= m_SpanEndOffset;
219 Superclass::SetIndex(ind);
220 m_SpanEndOffset = this->m_Offset + static_cast<OffsetValueType>(this->m_Region.GetSize()[0]) -
221 (ind[0] - this->m_Region.GetIndex()[0]);
222 m_SpanBeginOffset = m_SpanEndOffset - static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
247 itkAssertInDebugAndIgnoreInReleaseMacro(!this->IsAtEndOfLine());
259 itkAssertInDebugAndIgnoreInReleaseMacro(!this->IsAtEndOfLine());
272 template <
typename TImage>
274 ->ImageScanlineConstIterator<std::remove_const_t<TImage>>;
278 #ifndef ITK_MANUAL_INSTANTIATION
279 # include "itkImageScanlineConstIterator.hxx"