Gazebo Common
API Reference
5.7.0
insert_drive_file
Tutorials
library_books
Classes
toc
Namespaces
insert_drive_file
Files
launch
Gazebo Website
Index
List
Hierarchy
Members: All
Members: Functions
Members: Variables
Members: Typedefs
Members: Enumerations
Members: Enumerator
List
Members
Functions
Typedefs
Variables
Enumerations
Enumerator
src
gz-common
include
gz
common
gz/common/Filesystem.hh
Go to the documentation of this file.
1
/*
2
* Copyright 2017 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
18
#ifndef GZ_COMMON_FILESYSTEM_HH_
19
#define GZ_COMMON_FILESYSTEM_HH_
20
21
#include <string>
22
23
#include <gz/common/Export.hh>
24
25
#include <gz/utils/ImplPtr.hh>
26
27
namespace
gz
28
{
29
namespace
common
30
{
33
enum
FilesystemWarningOp
34
{
37
FSWO_LOG_WARNINGS
= 0,
38
42
FSWO_SUPPRESS_WARNINGS
43
};
44
48
bool
GZ_COMMON_VISIBLE
exists
(
const
std::string
&_path);
49
53
bool
GZ_COMMON_VISIBLE
isDirectory
(
const
std::string
&_path);
54
58
bool
GZ_COMMON_VISIBLE
isFile
(
const
std::string
&_path);
59
63
bool
GZ_COMMON_VISIBLE
isRelativePath
(
const
std::string
&_path);
64
69
bool
GZ_COMMON_VISIBLE
createDirectory
(
const
std::string
&_path);
70
74
bool
GZ_COMMON_VISIBLE
createDirectories
(
const
std::string
&_path);
75
80
std::string
GZ_COMMON_VISIBLE
const
separator
(
81
std::string
const
&_s);
82
96
void
GZ_COMMON_VISIBLE
changeFromUnixPath
(
std::string
&_path);
97
104
std::string
GZ_COMMON_VISIBLE
copyFromUnixPath
(
105
const
std::string
&_path);
106
113
void
GZ_COMMON_VISIBLE
changeToUnixPath
(
std::string
&_path);
114
121
std::string
GZ_COMMON_VISIBLE
copyToUnixPath
(
122
const
std::string
&_path);
123
128
std::string
GZ_COMMON_VISIBLE
absPath
(
const
std::string
&_path);
129
136
std::string
GZ_COMMON_VISIBLE
joinPaths
(
const
std::string
&_path1,
137
const
std::string
&_path2);
138
140
inline
std::string
joinPaths
(
const
std::string
&_path)
141
{
142
return
_path;
143
}
144
145
// The below is C++ variadic template magic to allow a joinPaths
146
// method that takes 1-n number of arguments to append together.
147
152
template
<
typename
... Args>
153
inline
std::string
joinPaths
(
const
std::string
&_path1,
154
const
std::string
&_path2,
155
Args
const
&..._args)
156
{
157
return
joinPaths
(
joinPaths
(_path1, _path2),
158
joinPaths
(_args...));
159
}
160
163
std::string
GZ_COMMON_VISIBLE
cwd
();
164
168
bool
GZ_COMMON_VISIBLE
chdir
(
const
std::string
&_dir);
169
173
std::string
GZ_COMMON_VISIBLE
basename
(
174
const
std::string
&_path);
175
180
std::string
GZ_COMMON_VISIBLE
parentPath
(
181
const
std::string
&_path);
182
188
bool
GZ_COMMON_VISIBLE
copyFile
(
189
const
std::string
&_existingFilename,
190
const
std::string
&_newFilename,
191
const
FilesystemWarningOp
_warningOp =
FSWO_LOG_WARNINGS
);
192
197
bool
GZ_COMMON_VISIBLE
copyDirectory
(
198
const
std::string
&_existingDirname,
199
const
std::string
&_newDirname,
200
const
FilesystemWarningOp
_warningOp =
FSWO_LOG_WARNINGS
);
201
207
bool
GZ_COMMON_VISIBLE
moveFile
(
208
const
std::string
&_existingFilename,
209
const
std::string
&_newFilename,
210
const
FilesystemWarningOp
_warningOp =
FSWO_LOG_WARNINGS
);
211
217
bool
GZ_COMMON_VISIBLE
removeDirectory
(
218
const
std::string
&_path,
219
const
FilesystemWarningOp
_warningOp =
FSWO_LOG_WARNINGS
);
220
225
bool
GZ_COMMON_VISIBLE
removeFile
(
226
const
std::string
&_existingFilename,
227
const
FilesystemWarningOp
_warningOp =
FSWO_LOG_WARNINGS
);
228
233
bool
GZ_COMMON_VISIBLE
removeDirectoryOrFile
(
234
const
std::string
&_path,
235
const
FilesystemWarningOp
_warningOp =
FSWO_LOG_WARNINGS
);
236
241
bool
GZ_COMMON_VISIBLE
removeAll
(
242
const
std::string
&_path,
243
const
FilesystemWarningOp
_warningOp =
FSWO_LOG_WARNINGS
);
244
252
std::string
GZ_COMMON_VISIBLE
uniqueFilePath
(
253
const
std::string
&_pathAndName,
const
std::string
&_extension);
254
258
std::string
GZ_COMMON_VISIBLE
uniqueDirectoryPath
(
259
const
std::string
&_dir);
260
263
class
GZ_COMMON_VISIBLE
DirIter
264
{
266
public
:
DirIter
();
267
270
public
:
explicit
DirIter
(
const
std::string
&_in);
271
275
public
:
std::string
operator*
()
const
;
276
279
public
:
const
DirIter
&
operator++
();
280
285
public
:
bool
operator!=
(
const
DirIter
&_other)
const
;
286
288
GZ_UTILS_IMPL_PTR(dataPtr)
289
};
290
}
291
}
292
293
#endif