11 template <
typename ForwardRange>
18 template <
typename ForwardRange>
22 bool inserted =
false;
23 auto first = std::begin(r);
24 if (first != std::end(r))
30 for (
const std::string& s:
split(*first, sep))
45 template <
typename Iterable>
48 const Iterable& default_path,
51 bool inserted =
false;
52 if (user_path.empty())
55 for (
const std::string& s: default_path)
61 for (
const std::string& s1:
split(user_path, sep))
67 for (
const std::string& s2: default_path)
std::ostream & dump(std::ostream &ostr) const
self_t & prepend(const path &p)
std::ostream & operator<<(std::ostream &os, direction d)
Pretty-printing.
self_t & push_front(const path &p)
Provide a variadic mul on top of a binary mul(), and one().
std::list< path > path_list_type
Yes, a list is really handy here, for push/pop front.
static strings_type split(const std::string &lib, const char *sep)
Split lib at each occurrence of sep, return the list of components.
void push_cwd()
Push the working directory on the stack.
self_t & append(const path &p)
path_list_type search_path_
Inclusion path list.
boost::filesystem::path path
self_t & push_back(const path &p)
const path_list_type & search_path_get() const
path_list_type & search_path()