38 void copy_file(
const std::string& src,
const std::string& dest);
52 void readDirectory(
const std::string& path, std::list<std::string>& dirlist,
const std::string& pattern=
"",
const bool& isRecursive=
false);
54 std::list<std::string>
readDirectory(
const std::string& path,
const std::string& pattern=
"",
const bool& isRecursive=
false);
76 std::string
cleanPath(std::string in_path,
const bool& resolve=
false,
const bool& silent=
false);
84 bool isSubDirOf(
const std::string& in_path,
const std::string& root_path);
92 bool isAllowedPath(
const std::string& path,
const bool& is_write);
100 FILE*
fopen_safe(
const char* filename,
const char* mode);
140 std::string
getPath(
const std::string& filename,
const bool& resolve=
false);
156 char getEoln(std::istream& fin);
158 void skipLines(std::istream& fin,
const size_t& nbLines,
const char& eoln=
'\n');
161 const size_t& linecount=1,
162 const std::string& delimiter=
"=",
const bool& keep_case=
false);
183 void setIndex(
const Date& i_date,
const std::streampos& i_pos,
const size_t& linenr=
static_cast<size_t>(-1));
184 void setIndex(
const std::string& i_date,
const std::streampos& i_pos,
const size_t& linenr=
static_cast<size_t>(-1));
185 void setIndex(
const double& i_date,
const std::streampos& i_pos,
const size_t& linenr=
static_cast<size_t>(-1));
194 std::streampos
getIndex(
const std::string& i_date)
const;
195 std::streampos
getIndex(
const double& i_date)
const;
204 std::streampos
getIndex(
const Date& i_date,
size_t& o_linenr)
const;
205 std::streampos
getIndex(
const std::string& i_date,
size_t& o_linenr)
const;
206 std::streampos
getIndex(
const double& i_date,
size_t& o_linenr)
const;
212 file_index(
const Date& i_date,
const std::streampos& i_pos,
const size_t& i_linenr=
static_cast<size_t>(-1)) : date(i_date), linenr(i_linenr), pos(i_pos) {}
213 bool operator<(
const file_index& a)
const {
214 return date < a.date;
216 bool operator>(
const file_index& a)
const {
217 return date > a.date;
223 size_t binarySearch(
const Date& soughtdate)
const;
225 std::vector< struct file_index > vecIndex;
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition Date.h:87
Definition FileUtils.h:173
const std::string toString() const
Definition FileUtils.cc:669
FileIndexer()
Definition FileUtils.h:175
std::streampos getIndex(const Date &i_date) const
Get the file position suitable for a given date.
Definition FileUtils.cc:610
void setIndex(const Date &i_date, const std::streampos &i_pos, const size_t &linenr=static_cast< size_t >(-1))
Add a new position to the index.
Definition FileUtils.cc:579
void createDirectories(const std::string &path)
creates the directory tree for the given path, including missing intermediate directories (gives only...
Definition FileUtils.cc:334
FILE * fopen_safe(const char *filename, const char *mode)
Open a file safely according to the sandbox restrictions.
Definition FileUtils.cc:219
std::string getCWD()
returns the current working directory.
Definition FileUtils.cc:425
std::string getPath(const std::string &filename, const bool &resolve)
returns the path preceeding a given filename.
Definition FileUtils.cc:253
void copy_file(const std::string &src, const std::string &dest)
Copies a files from one location to another.
Definition FileUtils.cc:69
std::string removeExtension(const std::string &filename)
remove the extension part of a given filename.
Definition FileUtils.cc:243
std::string cleanPath(std::string in_path, const bool &resolve, const bool &silent)
Replace "\" by "/" in a string so that a path string is cross plateform, optionally resolve links,...
Definition FileUtils.cc:90
std::string getFilename(const std::string &path)
extract the file name from a path+filename string.
Definition FileUtils.cc:264
bool fileExists(const std::string &filename)
Definition FileUtils.cc:434
bool isAllowedPath(const std::string &path, const bool &is_write)
Check if a path is safe to access according to the sandbox restrictions.
Definition FileUtils.cc:186
std::string getExtension(const std::string &filename)
returns the extension part of a given filename.
Definition FileUtils.cc:230
bool isWindowsPath(const std::string &path)
Definition FileUtils.cc:328
char getEoln(std::istream &fin)
Definition FileUtils.cc:503
std::string getDateTime()
returns the current date and time as a string.
Definition FileUtils.cc:273
bool validFileAndPath(const std::string &filename)
Definition FileUtils.cc:282
void readDirectory(const std::string &path, std::list< std::string > &dirlist, const std::string &pattern, const bool &isRecursive)
Build a list of file in a given directory.
Definition FileUtils.cc:307
void skipLines(std::istream &fin, const size_t &nbLines, const char &eoln)
Definition FileUtils.cc:536
bool isAbsolutePath(const std::string &in_path)
checks if a path is an absolute path
Definition FileUtils.cc:298
bool directoryExists(const std::string &path)
Definition FileUtils.cc:319
bool isSubDirOf(const std::string &in_path, const std::string &root_path)
Check if a given path (here in_path) is a subpath of another one (here root_path)
Definition FileUtils.cc:141
std::map< std::string, std::string > readKeyValueHeader(std::istream &fin, const size_t &linecount, const std::string &delimiter, const bool &keep_case)
Definition FileUtils.cc:546