00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkFileIteratorBase_h
00018
#define __itkFileIteratorBase_h
00019
00020
#ifdef _MSC_VER
00021
#pragma warning ( disable : 4786 )
00022
#endif
00023
00024
#include "itkObject.h"
00025
#include "itkObjectFactory.h"
00026
00027
namespace itk
00028 {
00029
00048 class ITK_EXPORT FileIteratorBase :
public Object
00049 {
00050
public:
00052 typedef FileIteratorBase
Self;
00053 typedef Object Superclass;
00054 typedef SmartPointer<Self> Pointer;
00055
00057
itkTypeMacro(FileIteratorBase,
Object);
00058
00063
itkSetStringMacro(SeriesFormat);
00064
itkGetStringMacro(SeriesFormat);
00065
00070
itkSetMacro(WriteMode,
bool);
00071
itkGetMacro(WriteMode,
bool);
00072
itkBooleanMacro(WriteMode);
00073
00076
virtual const std::string& Begin() = 0;
00077
00080
virtual const std::string& operator++() = 0;
00081
00084
virtual const std::string& operator--() = 0;
00085
00088
virtual const std::string& operator*()
const
00089
{
return m_CurrentFileName;}
00090
00091
protected:
00092 FileIteratorBase();
00093 ~FileIteratorBase();
00094
void PrintSelf(std::ostream& os,
Indent indent)
const;
00095
00097
bool m_WriteMode;
00098
00100 std::string m_SeriesFormat;
00101
00103 std::string m_CurrentFileName;
00104
00105 private:
00106 FileIteratorBase(
const Self&);
00107
void operator=(
const Self&);
00108
00109 };
00110
00111 }
00112
00113
#endif // __itkFileIteratorBase_h