diff options
Diffstat (limited to 'src/support')
-rw-r--r-- | src/support/filesystem_context.cc | 11 | ||||
-rw-r--r-- | src/support/filesystem_context.h | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/support/filesystem_context.cc b/src/support/filesystem_context.cc index 32646be..418d159 100644 --- a/src/support/filesystem_context.cc +++ b/src/support/filesystem_context.cc @@ -36,11 +36,9 @@ boost::filesystem::path FilesystemContext::resolve( } void FilesystemContext::iterate( - const std::string& path, + const boost::filesystem::path& directory, std::function<void(const boost::filesystem::path&)> func ) const { - const boost::filesystem::path directory(this->resolve(path)); - if ( boost::filesystem::is_directory(directory) ) { for ( boost::filesystem::directory_iterator iter(directory); iter != boost::filesystem::directory_iterator(); @@ -54,6 +52,13 @@ void FilesystemContext::iterate( } void FilesystemContext::iterate( + const std::string& path, + std::function<void(const boost::filesystem::path&)> func +) const { + this->iterate(this->resolve(path), func); +} + +void FilesystemContext::iterate( const xalan::XalanDOMString& path, std::function<void(const boost::filesystem::path&)> func ) const { diff --git a/src/support/filesystem_context.h b/src/support/filesystem_context.h index f743c89..05d5862 100644 --- a/src/support/filesystem_context.h +++ b/src/support/filesystem_context.h @@ -20,6 +20,8 @@ class FilesystemContext { boost::filesystem::path resolve(const std::string&) const; boost::filesystem::path resolve(const xalan::XalanDOMString&) const; + void iterate(const boost::filesystem::path&, + std::function<void(const boost::filesystem::path&)>) const; void iterate(const std::string&, std::function<void(const boost::filesystem::path&)>) const; void iterate(const xalan::XalanDOMString&, |