/*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: $RCSfile$ Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) 2002 Insight Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef __cmDirectory_h #define __cmDirectory_h #include "cmStandardIncludes.h" #include "cmSystemTools.h" /** \class cmDirectory * \brief Portable directory/filename traversal. * * cmDirectory provides a portable way of finding the names of the files * in a system directory. * * cmDirectory currently works with Windows and Unix operating systems. */ class cmDirectory { public: /** * Load the specified directory and load the names of the files * in that directory. 0 is returned if the directory can not be * opened, 1 if it is opened. */ bool Load(const char* dir); /** * Return the number of files in the current directory. */ size_t GetNumberOfFiles() { return m_Files.size();} /** * Return the file at the given index, the indexing is 0 based */ const char* GetFile(size_t ); private: std::vector<std::string> m_Files; // Array of Files std::string m_Path; // Path to Open'ed directory }; // End Class: cmDirectory #endif