Change PBD::get_files and PBD::get_paths to take a Searchpath instead of directory path

Both these functions use the internal function run_functor_for_paths
which takes a Searchpath so this avoids a temporary variable in cases
where a Searchpath is passed directly.

The usage is the same as the compiler will generate a temporary Searchpath
from a string(directory path) if necessary.
This commit is contained in:
Tim Mayberry 2014-06-22 19:58:19 +10:00 committed by Paul Davis
parent 6d0cce528e
commit 3b1a98f0ec
2 changed files with 9 additions and 9 deletions

View file

@ -141,18 +141,18 @@ bool accept_all_files (string const &, void *)
void void
get_paths (vector<string>& result, get_paths (vector<string>& result,
const std::string& directory_path, const Searchpath& paths,
bool files_only, bool files_only,
bool recurse) bool recurse)
{ {
run_functor_for_paths (result, directory_path, accept_all_files, 0, run_functor_for_paths (result, paths, accept_all_files, 0,
files_only, true, true, recurse); files_only, true, true, recurse);
} }
void void
get_files (vector<string>& result, const std::string& directory_path) get_files (vector<string>& result, const Searchpath& paths)
{ {
return get_paths (result, directory_path, true, false); return get_paths (result, paths, true, false);
} }
static static

View file

@ -35,28 +35,28 @@ namespace PBD {
* if recursing. * if recursing.
* @note paths in result will be absolute * @note paths in result will be absolute
* *
* @param path An absolute path to a directory in the filename encoding
* @param result A vector of absolute paths to the directory entries in filename * @param result A vector of absolute paths to the directory entries in filename
* encoding. * encoding.
* @param paths A Searchpath
* @param files_only Only include file entries in result * @param files_only Only include file entries in result
* @param recurse Recurse into child directories * @param recurse Recurse into child directories
*/ */
LIBPBD_API void LIBPBD_API void
get_paths (std::vector<std::string>& result, get_paths (std::vector<std::string>& result,
const std::string& directory_path, const Searchpath& paths,
bool files_only = true, bool files_only = true,
bool recurse = false); bool recurse = false);
/** /**
* Get a list of files in a directory. * Get a list of files in a Searchpath.
* @note paths in result will be absolute. * @note paths in result will be absolute.
* *
* @param path An Absolute path to a directory * @param path A Searchpath
* @param result A vector of paths to files. * @param result A vector of paths to files.
*/ */
LIBPBD_API void LIBPBD_API void
get_files (std::vector<std::string>& result, get_files (std::vector<std::string>& result,
const std::string& path); const Searchpath& paths);
/** /**
* Takes a Searchpath and returns all the files contained in the * Takes a Searchpath and returns all the files contained in the