35 parse_path_list(path_list);
38OksSystem::Path::operator std::string()
const {
49 m_directories.push_back(dir);
58 std::string rest = path_list;
59 while(! rest.empty()) {
60 std::string::size_type semi_colon = rest.find(PATH_SEPARATOR);
63 if(semi_colon==std::string::npos) {
67 name = rest.substr(0,semi_colon);
68 rest = rest.substr(semi_colon+1);
84 for(File::file_list_t::const_iterator pos = m_directories.begin(); pos!=m_directories.end();pos++) {
86 stream << PATH_SEPARATOR;
90 stream << pos->full_name();
100 std::ostringstream stream;
112 for(File::file_list_t::const_iterator pos = m_directories.begin(); pos!=m_directories.end();pos++) {
114 if (child.
exists())
return child;
116 throw OksSystem::NotFoundIssue(
ERS_HERE, name.c_str() );
125 path.write_to(stream);
std::ostream & operator<<(std::ostream &stream, const OksSystem::File &file)
Wrapper for file operations.
bool exists() const
does the file exist */
OksSystem::File child(const std::string &name) const
named child of the current directory */
Path list handling mechanism.
void parse_path_list(const std::string &path_list)
parse string containing path
OksSystem::File which(const std::string &name) const
resolve a name in the path
std::string to_string() const
converts path into a string
void add(const OksSystem::File &dir)
add a directory to the path
File::file_list_t m_directories
list of directories
void write_to(std::ostream &stream) const
displays the path in a stream
static const char PATH_SEPARATOR
char used as separator in strings (semi-colon)