mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
Code extracted from:
http://public.kitware.com/KWSys.git
at commit 18c654114de3aa65429542f95308720bc68f9231 (master).
Upstream Shortlog
-----------------
Brad King (14):
37306a1c FStream: Quiet unused argument warning
15e90a3c Sort includes to stabilize include order w.r.t. clang-format
26509227 Copyright.txt: Add notice of copyright by contributors
fc42d3f2 Add temporary script to filter license notices
c41c1bc4 Simplify KWSys per-source license notices
1d4c0b4a Remove temporary script that filtered license notices
a4f5ef79 SystemInformation: Remove stray comment
8649a886 kwsysPrivate: Protect KWSYS_HEADER macro from clang-format
89b98af5 Configure clang-format for KWSys source tree
547dacad Add a script to run clang-format on the entire source tree
aa94be0c CONTRIBUTING: Add a section on coding style
6604c4b6 Empty commit at end of history preceding clang-format style transition
2b3e2b1c Tell Git to not export 'clang-format' infrastructure
18c65411 FStream: Include Configure.hxx before other headers
Kitware Robot (1):
6c973b46 Revise C++ coding style using clang-format
73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing#kwsys for details. */
|
|
#ifndef @KWSYS_NAMESPACE@_Directory_hxx
|
|
#define @KWSYS_NAMESPACE@_Directory_hxx
|
|
|
|
#include <@KWSYS_NAMESPACE@/Configure.h>
|
|
|
|
#include <string>
|
|
|
|
namespace @KWSYS_NAMESPACE@ {
|
|
|
|
class DirectoryInternals;
|
|
|
|
/** \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 @KWSYS_NAMESPACE@_EXPORT Directory
|
|
{
|
|
public:
|
|
Directory();
|
|
~Directory();
|
|
|
|
/**
|
|
* 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 std::string&);
|
|
|
|
/**
|
|
* Return the number of files in the current directory.
|
|
*/
|
|
unsigned long GetNumberOfFiles() const;
|
|
|
|
/**
|
|
* Return the number of files in the specified directory.
|
|
* A higher performance static method.
|
|
*/
|
|
static unsigned long GetNumberOfFilesInDirectory(const std::string&);
|
|
|
|
/**
|
|
* Return the file at the given index, the indexing is 0 based
|
|
*/
|
|
const char* GetFile(unsigned long) const;
|
|
|
|
/**
|
|
* Return the path to Open'ed directory
|
|
*/
|
|
const char* GetPath() const;
|
|
|
|
/**
|
|
* Clear the internal structure. Used internally at beginning of Load(...)
|
|
* to clear the cache.
|
|
*/
|
|
void Clear();
|
|
|
|
private:
|
|
// Private implementation details.
|
|
DirectoryInternals* Internal;
|
|
|
|
Directory(const Directory&); // Not implemented.
|
|
void operator=(const Directory&); // Not implemented.
|
|
}; // End Class: Directory
|
|
|
|
} // namespace @KWSYS_NAMESPACE@
|
|
|
|
#endif
|