42#ifndef GOOGLETEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_
43#define GOOGLETEST_INCLUDE_GTEST_INTERNAL_GTEST_FILEPATH_H_
53#if GTEST_HAS_FILE_SYSTEM
71 FilePath() : pathname_(
"") {}
72 FilePath(
const FilePath& rhs) : pathname_(rhs.pathname_) {}
74 explicit FilePath(
const std::string& pathname) : pathname_(pathname) {
78 FilePath& operator=(
const FilePath& rhs) {
83 void Set(
const FilePath& rhs) { pathname_ = rhs.pathname_; }
85 const std::string& string()
const {
return pathname_; }
86 const char* c_str()
const {
return pathname_.c_str(); }
89 static FilePath GetCurrentDir();
95 static FilePath MakeFileName(
const FilePath& directory,
96 const FilePath& base_name,
int number,
97 const char* extension);
102 static FilePath ConcatPaths(
const FilePath& directory,
103 const FilePath& relative_path);
113 static FilePath GenerateUniqueFileName(
const FilePath& directory,
114 const FilePath& base_name,
115 const char* extension);
118 bool IsEmpty()
const {
return pathname_.empty(); }
123 FilePath RemoveTrailingPathSeparator()
const;
131 FilePath RemoveDirectoryName()
const;
139 FilePath RemoveFileName()
const;
145 FilePath RemoveExtension(
const char* extension)
const;
151 bool CreateDirectoriesRecursively()
const;
157 bool CreateFolder()
const;
161 bool FileOrDirectoryExists()
const;
165 bool DirectoryExists()
const;
170 bool IsDirectory()
const;
174 bool IsRootDirectory()
const;
177 bool IsAbsolutePath()
const;
205 const char* FindLastPathSeparator()
const;
215 size_t CalculateRootLength()
const;
217 std::string pathname_;
#define GTEST_DISABLE_MSC_WARNINGS_PUSH_(warnings)
Definition gtest-port.h:360
#define GTEST_API_
Definition gtest-port.h:842
#define GTEST_DISABLE_MSC_WARNINGS_POP_()
Definition gtest-port.h:361
Definition gmock-actions.h:151
PolymorphicMatcher< internal::IsEmptyMatcher > IsEmpty()
Definition gmock-more-matchers.h:93