votca
2024.2-dev
Loading...
Searching...
No Matches
tools
src
libtools
filesystem.cc
Go to the documentation of this file.
1
/*
2
* Copyright 2009-2020 The VOTCA Development Team
3
* (http://www.votca.org)
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License")
6
*
7
* You may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*
18
*/
19
20
// Standard includes
21
#include <fstream>
22
23
// Third party includes
24
#include <boost/algorithm/string.hpp>
25
26
// Local VOTCA includes
27
#include "
votca/tools/filesystem.h
"
28
29
namespace
votca
{
30
namespace
tools {
31
32
namespace
filesystem {
33
34
std::string
GetFileExtension
(
const
std::string& filename) {
35
size_t
i = filename.rfind(
'.'
, filename.length());
36
if
(i != std::string::npos) {
37
return
(filename.substr(i + 1, filename.length() - i));
38
}
39
return
(
""
);
40
}
41
42
std::string
GetFileBase
(
const
std::string& filename) {
43
size_t
i = filename.rfind(
'.'
, filename.length());
44
if
(i != std::string::npos) {
45
return
(filename.substr(0, i));
46
}
47
return
filename;
48
}
49
50
bool
FileExists
(
const
std::string& filename) {
51
std::ifstream infile(filename);
52
return
infile.good();
53
}
54
55
}
// namespace filesystem
56
}
// namespace tools
57
}
// namespace votca
filesystem.h
votca::tools::filesystem::FileExists
bool FileExists(const std::string &filename)
Definition
filesystem.cc:50
votca::tools::filesystem::GetFileBase
std::string GetFileBase(const std::string &filename)
Definition
filesystem.cc:42
votca::tools::filesystem::GetFileExtension
std::string GetFileExtension(const std::string &filename)
Definition
filesystem.cc:34
votca
base class for all analysis tools
Definition
basebead.h:33
Generated by
1.12.0