diff options
author | Brad King <brad.king@kitware.com> | 2003-04-08 17:10:44 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2003-04-08 17:10:44 (GMT) |
commit | 7dff3a7f69d1ec1e36d38903e94e433f6583d96e (patch) | |
tree | 52188fec4a7e35d1fd08e3ed6c3dcfbf1095a818 /Source/kwsys/Directory.hxx.in | |
parent | 7f48313225537a7bcc92c0f1c73754bdc50a2ca4 (diff) | |
download | CMake-7dff3a7f69d1ec1e36d38903e94e433f6583d96e.zip CMake-7dff3a7f69d1ec1e36d38903e94e433f6583d96e.tar.gz CMake-7dff3a7f69d1ec1e36d38903e94e433f6583d96e.tar.bz2 |
ENH: Added kwsys library for platform-independent system tools.
Diffstat (limited to 'Source/kwsys/Directory.hxx.in')
-rw-r--r-- | Source/kwsys/Directory.hxx.in | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Source/kwsys/Directory.hxx.in b/Source/kwsys/Directory.hxx.in new file mode 100644 index 0000000..7182a28 --- /dev/null +++ b/Source/kwsys/Directory.hxx.in @@ -0,0 +1,65 @@ +/*========================================================================= + + Program: KWSys - Kitware System Library + Module: $RCSfile$ + Language: C++ + Date: $Date$ + Version: $Revision$ + + Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. + See http://www.cmake.org/HTML/Copyright.html 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 @KWSYS_NAMESPACE@_Directory_hxx +#define @KWSYS_NAMESPACE@_Directory_hxx + +#include <@KWSYS_NAMESPACE@/StandardIncludes.hxx> + +#include <string> +#include <vector> + +namespace @KWSYS_NAMESPACE@ +{ + +/** \class Directory + * \brief Portable directory/filename traversal. + * + * Directory provides a portable way of finding the names of the files + * in a system directory. + * + * Directory currently works with Windows and Unix operating systems. + */ + +class Directory +{ +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: + kwsys_std::vector<kwsys_std::string> m_Files; // Array of Files + kwsys_std::string m_Path; // Path to Open'ed directory + +}; // End Class: Directory + +} // namespace @KWSYS_NAMESPACE@ + +#endif |