ITK  6.0.0
Insight Toolkit
itkReflectiveImageRegionIterator.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkReflectiveImageRegionIterator_h
19#define itkReflectiveImageRegionIterator_h
20
23
24namespace itk
25{
44template <typename TImage>
45class ITK_TEMPLATE_EXPORT ReflectiveImageRegionIterator : public ReflectiveImageRegionConstIterator<TImage>
46{
47public:
48
52
54 using typename Superclass::IndexType;
55 using typename Superclass::IndexValueType;
56 using typename Superclass::SizeType;
57 using typename Superclass::SizeValueType;
58 using typename Superclass::OffsetType;
59 using typename Superclass::OffsetValueType;
60 using typename Superclass::RegionType;
61 using typename Superclass::ImageType;
62 using typename Superclass::PixelContainer;
64 using typename Superclass::InternalPixelType;
65 using typename Superclass::PixelType;
66 using typename Superclass::AccessorType;
67
70
74
82
84 void
85 Set(const PixelType & value) const
86 {
87 this->m_PixelAccessor.Set(*(const_cast<InternalPixelType *>(this->m_Position)), value);
88 }
89
93 PixelType &
95 {
96 return *(const_cast<InternalPixelType *>(this->m_Position));
97 }
98
99protected:
103 Self &
105};
106} // end namespace itk
109#ifndef ITK_MANUAL_INSTANTIATION
110# include "itkReflectiveImageRegionIterator.hxx"
111#endif
112
113#endif
A base class for multi-dimensional iterators templated over image type that are designed to efficient...
typename PixelContainer::Pointer PixelContainerPointer
typename TImage::InternalPixelType InternalPixelType
typename TImage::PixelContainer PixelContainer
A base class for multi-dimensional iterators templated over image type that are designed to efficient...
Multi-dimensional image iterator which only walks a region.
Multi-dimensional image iterator which only walks a region.
Self & operator=(const ReflectiveImageRegionConstIterator< TImage > &it)
ReflectiveImageRegionIterator(ImageType *ptr, const RegionType &region)
ReflectiveImageRegionIterator(const ReflectiveImageRegionConstIterator< TImage > &it)
ReflectiveImageRegionIterator(const ImageIteratorWithIndex< TImage > &it)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
long IndexValueType
Definition: itkIntTypes.h:93
unsigned long SizeValueType
Definition: itkIntTypes.h:86
long OffsetValueType
Definition: itkIntTypes.h:97