00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkImageRegionConstIteratorWithIndex.h,v $ 00005 Language: C++ 00006 Date: $Date: 2008-10-18 21:13:25 $ 00007 Version: $Revision: 1.12 $ 00008 00009 Copyright (c) Insight Software Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 #ifndef __itkImageRegionConstIteratorWithIndex_h 00018 #define __itkImageRegionConstIteratorWithIndex_h 00019 00020 #include "itkImageConstIteratorWithIndex.h" 00021 00022 namespace itk 00023 { 00024 00122 template<typename TImage> 00123 class ITK_EXPORT ImageRegionConstIteratorWithIndex : public ImageConstIteratorWithIndex<TImage> 00124 { 00125 public: 00127 typedef ImageRegionConstIteratorWithIndex Self; 00128 typedef ImageConstIteratorWithIndex<TImage> Superclass; 00129 00134 typedef typename TImage::IndexType IndexType; 00135 00140 typedef TImage ImageType; 00141 00145 typedef typename TImage::PixelContainer PixelContainer; 00146 typedef typename PixelContainer::Pointer PixelContainerPointer; 00147 00152 typedef typename TImage::RegionType RegionType; 00153 00155 ImageRegionConstIteratorWithIndex() : ImageConstIteratorWithIndex<TImage>() {} 00156 00159 ImageRegionConstIteratorWithIndex( const TImage *ptr, 00160 const RegionType& region ) 00161 : ImageConstIteratorWithIndex<TImage>(ptr, region) {} 00162 00169 ImageRegionConstIteratorWithIndex( const ImageConstIteratorWithIndex<TImage> &it) 00170 { this->ImageConstIteratorWithIndex<TImage>::operator=(it); } 00171 00179 Self & operator++(); 00180 00188 Self & operator--(); 00189 }; 00191 00196 } // end namespace itk 00197 00198 // Define instantiation macro for this template. 00199 #define ITK_TEMPLATE_ImageRegionConstIteratorWithIndex(_, EXPORT, x, y) namespace itk { \ 00200 _(1(class EXPORT ImageRegionConstIteratorWithIndex< ITK_TEMPLATE_1 x >)) \ 00201 namespace Templates { typedef ImageRegionConstIteratorWithIndex< ITK_TEMPLATE_1 x > ImageRegionConstIteratorWithIndex##y; } \ 00202 } 00203 00204 #if ITK_TEMPLATE_EXPLICIT 00205 # include "Templates/itkImageRegionConstIteratorWithIndex+-.h" 00206 #endif 00207 00208 #if ITK_TEMPLATE_TXX 00209 # include "itkImageRegionConstIteratorWithIndex.txx" 00210 #endif 00211 00212 #endif 00213