aboutsummaryrefslogtreecommitdiff
path: root/src/support
diff options
context:
space:
mode:
Diffstat (limited to 'src/support')
-rw-r--r--src/support/filesystem_context.cc38
-rw-r--r--src/support/filesystem_context.h20
2 files changed, 34 insertions, 24 deletions
diff --git a/src/support/filesystem_context.cc b/src/support/filesystem_context.cc
index 8395046..a30bccc 100644
--- a/src/support/filesystem_context.cc
+++ b/src/support/filesystem_context.cc
@@ -29,8 +29,22 @@ boost::filesystem::path FilesystemContext::resolve(
}
void FilesystemContext::iterate(
+ const std::string& path,
+ const std::function<void(const boost::filesystem::path&)>& func
+) const {
+ this->iterate(this->resolve(path), func);
+}
+
+void FilesystemContext::iterate(
+ const xalan::XalanDOMString& path,
+ const std::function<void(const boost::filesystem::path&)>& func
+) const {
+ this->iterate(toString(path), func);
+}
+
+void FilesystemContext::iterate(
const boost::filesystem::path& directory,
- std::function<void(const boost::filesystem::path&)> func
+ const std::function<void(const boost::filesystem::path&)>& func
) const {
std::vector<boost::filesystem::path> directoryItems;
@@ -49,23 +63,11 @@ void FilesystemContext::iterate(
directoryItems.end()
);
- for ( auto&& item : directoryItems ) {
- func(item);
- }
-}
-
-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 {
- this->iterate(toString(path), func);
+ std::for_each(
+ directoryItems.begin(),
+ directoryItems.end(),
+ func
+ );
}
}
diff --git a/src/support/filesystem_context.h b/src/support/filesystem_context.h
index 6322da6..1f574de 100644
--- a/src/support/filesystem_context.h
+++ b/src/support/filesystem_context.h
@@ -21,12 +21,20 @@ 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&,
- std::function<void(const boost::filesystem::path&)>) const;
+ void iterate(
+ const std::string&,
+ const std::function<void(const boost::filesystem::path&)>&
+ ) const;
+
+ void iterate(
+ const xalan::XalanDOMString&,
+ const std::function<void(const boost::filesystem::path&)>&
+ ) const;
+
+ void iterate(
+ const boost::filesystem::path&,
+ const std::function<void(const boost::filesystem::path&)>&
+ ) const;
private:
const boost::filesystem::path path_;