|
Gaudi Framework, version v22r4 |
| Home | Generated: Fri Sep 2 2011 |
search for files in a list of directories More...
#include <DirSearchPath.h>

Classes | |
| class | eqPath |
| name More... | |
Public Types | |
| typedef boost::filesystem::path | path |
Public Member Functions | |
constructors | |
| DirSearchPath () | |
| DirSearchPath (const std::string &stringifiedPath, const char *separator=",:") | |
modifiers | |
| bool | add (const path &dir) |
| bool | addCWD () |
| add current work dir (*nix pwd) to path | |
accessors | |
| bool | find (const std::string &fileName, std::string &fullFileName) const |
| returns a flag if fileName found in search path, and sets ref to fully qualified file name (in native form) | |
| bool | find (const path &file, path &fileFound) const |
| returns a flag if file found in search path. Sets ref to completed path | |
| std::list< path > | find_all (const path &file) const |
| returns lists of files found in search path. | |
Static Public Member Functions | |
helpers | |
| static bool | existsDir (const std::string &dirName) |
| check dirName is valid | |
| static bool | existsDir (const path &dir) |
| check dir path is valid | |
Private Attributes | |
| std::list< path > | m_dirs |
| the dir container | |
search for files in a list of directories
Definition at line 19 of file DirSearchPath.h.
| typedef boost::filesystem::path DirSearchPath::path |
Definition at line 21 of file DirSearchPath.h.
| DirSearchPath::DirSearchPath | ( | ) | [inline] |
Definition at line 25 of file DirSearchPath.h.
{ addCWD(); }
| DirSearchPath::DirSearchPath | ( | const std::string & | stringifiedPath, |
| const char * | separator = ",:" |
||
| ) |
| boost::filesystem::filesystem_error |
Definition at line 29 of file DirSearchPath.cpp.
{
addCWD(); //FIXME is this a good idea?
typedef tokenizer<char_separator<char> > Tokenizer;
Tokenizer tok(stringifiedPath, char_separator<char>(separator));
//add names to dir container, filtering dir names to remove invalid ones
//notice how we iterate over all tokens even if there is an illegal one
Tokenizer::iterator it = tok.begin();
while(it != tok.end()) {
try {
path p(*(it++));
add(p);
}
catch (boost::filesystem::filesystem_error &/*err*/) {
}
}
}
| filesystem_error |
Definition at line 54 of file DirSearchPath.cpp.
| bool DirSearchPath::addCWD | ( | ) |
add current work dir (*nix pwd) to path
Definition at line 50 of file DirSearchPath.cpp.
{
return add(boost::filesystem::current_path());
}
check dir path is valid
Definition at line 109 of file DirSearchPath.cpp.
{
return (exists(dir) && is_directory(dir));
}
| bool DirSearchPath::existsDir | ( | const std::string & | dirName ) | [static] |
check dirName is valid
Definition at line 102 of file DirSearchPath.cpp.
{
bool rc(false);
try {
rc=is_directory(path(dirName));
} catch(...) {}
return rc;
}
returns a flag if file found in search path. Sets ref to completed path
Definition at line 75 of file DirSearchPath.cpp.
| bool DirSearchPath::find | ( | const std::string & | fileName, |
| std::string & | fullFileName | ||
| ) | const |
returns a flag if fileName found in search path, and sets ref to fully qualified file name (in native form)
Definition at line 64 of file DirSearchPath.cpp.
| std::list< DirSearchPath::path > DirSearchPath::find_all | ( | const path & | file ) | const |
returns lists of files found in search path.
Definition at line 90 of file DirSearchPath.cpp.
{
std::list<path> found;
for (std::list<path>::const_iterator iDir=m_dirs.begin(); iDir!=m_dirs.end(); ++iDir) {
path full(*iDir / file);
if (exists(full)) {
found.push_back(full);
}
}
return found;
}
std::list<path> DirSearchPath::m_dirs [private] |
the dir container
Definition at line 81 of file DirSearchPath.h.