00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkDirectory_h
00018
#define __itkDirectory_h
00019
00020
#include "itkObject.h"
00021
#include "itkObjectFactory.h"
00022
#include <iostream>
00023
#include <string>
00024
#include <vector>
00025
00026
namespace itk
00027 {
00039 class ITKCommon_EXPORT Directory :
public Object
00040 {
00041
public:
00043 typedef Directory
Self;
00044 typedef Object Superclass;
00045 typedef SmartPointer<Self> Pointer;
00046 typedef SmartPointer<const Self> ConstPointer;
00047
00049 static Pointer New()
00050 {
Pointer n =
new Self; n->
UnRegister();
return n; }
00051
00053
itkTypeMacro(Directory,
Object);
00054
00058
bool Load(
const char* dir);
00059
00061 std::vector<std::string>::size_type GetNumberOfFiles() {
return m_Files.size();}
00062
00064
const char* GetFile(
unsigned int index);
00065
00066
protected:
00067 Directory();
00068 ~Directory() ;
00069
virtual void PrintSelf(std::ostream& os,
Indent indent)
const;
00070
00071
private:
00072 Directory(
const Self&);
00073
void operator=(
const Self&);
00074
00075 std::vector<std::string> m_Files;
00076 std::string m_Path;
00077 };
00078
00079 }
00080
00081
#endif