40 #ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ 41 #define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ 43 #include "gtest/internal/gtest-string.h" 59 class GTEST_API_ FilePath {
61 FilePath() : pathname_(
"") { }
62 FilePath(
const FilePath& rhs) : pathname_(rhs.pathname_) { }
64 explicit FilePath(
const std::string& pathname) : pathname_(pathname) {
68 FilePath& operator=(
const FilePath& rhs) {
73 void Set(
const FilePath& rhs) {
74 pathname_ = rhs.pathname_;
77 const std::string& string()
const {
return pathname_; }
78 const char* c_str()
const {
return pathname_.c_str(); }
81 static FilePath GetCurrentDir();
87 static FilePath MakeFileName(
const FilePath& directory,
88 const FilePath& base_name,
90 const char* extension);
95 static FilePath ConcatPaths(
const FilePath& directory,
96 const FilePath& relative_path);
106 static FilePath GenerateUniqueFileName(
const FilePath& directory,
107 const FilePath& base_name,
108 const char* extension);
111 bool IsEmpty()
const {
return pathname_.empty(); }
116 FilePath RemoveTrailingPathSeparator()
const;
124 FilePath RemoveDirectoryName()
const;
132 FilePath RemoveFileName()
const;
138 FilePath RemoveExtension(
const char* extension)
const;
144 bool CreateDirectoriesRecursively()
const;
150 bool CreateFolder()
const;
154 bool FileOrDirectoryExists()
const;
158 bool DirectoryExists()
const;
163 bool IsDirectory()
const;
167 bool IsRootDirectory()
const;
170 bool IsAbsolutePath()
const;
198 const char* FindLastPathSeparator()
const;
200 std::string pathname_;
206 #endif // GTEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_ Definition: gtest-all.cc:113
Definition: BandTriangularSolver.h:13