6 #ifndef LIBPORT_FILE_LIBRARY_HXX
7 # define LIBPORT_FILE_LIBRARY_HXX
12 template <
typename ForwardRange>
19 template <
typename ForwardRange>
23 bool inserted =
false;
24 auto first = std::begin(r);
25 if (first != std::end(r))
31 for (
const std::string& s:
split(*first, sep))
46 template <
typename Iterable>
49 const Iterable& default_path,
52 bool inserted =
false;
53 if (user_path.empty())
56 for (
const std::string& s: default_path)
62 for (
const std::string& s1:
split(user_path, sep))
68 for (
const std::string& s2: default_path)
109 #endif // !LIBPORT_FILE_LIBRARY_HXX
self_t & push_front(const path &p)
std::ostream & operator<<(std::ostream &os, direction d)
Pretty-printing.
self_t & prepend(const path &p)
const path_list_type & search_path_get() const
std::list< path > path_list_type
Broken on Mac OS X (https://trac.macports.org/ticket/41588).
Paths in filesystems, i.e., file names.
path_list_type & search_path()
self_t & push_back(const path &p)
path_list_type search_path_
Inclusion path list.
std::ostream & dump(std::ostream &ostr) const
self_t & append(const path &p)
void push_cwd()
Push the working directory on the stack.
Provide a variadic mul on top of a binary mul(), and one().
static strings_type split(const std::string &lib, const char *sep)
Split lib at each occurrence of sep, return the list of components.