diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2017-05-01 16:08:43 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2017-05-01 16:59:24 +0300 |
commit | 61377c582e0f2675baa5f5e6e30a35d1a4164b33 (patch) | |
tree | 11cdca992834d7f7f197f72856712fbcb3020e3d /libbutl/prefix-map.txx | |
parent | 442c1a6790e52baa0c081f310d4d9e9b6f1ff638 (diff) |
Add hxx extension for headers and lib prefix for library dir
Diffstat (limited to 'libbutl/prefix-map.txx')
-rw-r--r-- | libbutl/prefix-map.txx | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libbutl/prefix-map.txx b/libbutl/prefix-map.txx new file mode 100644 index 0000000..f3cd29f --- /dev/null +++ b/libbutl/prefix-map.txx @@ -0,0 +1,39 @@ +// file : libbutl/prefix-map.txx -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +namespace butl +{ + template <typename M> + auto prefix_map_common<M>:: + find_prefix (const key_type& k) -> std::pair<iterator, iterator> + { + std::pair<iterator, iterator> r; + r.first = this->lower_bound (k); + + for (r.second = r.first; r.second != this->end (); ++r.second) + { + if (!this->key_comp ().prefix (k, r.second->first)) + break; + } + + return r; + } + + template <typename M> + auto prefix_map_common<M>:: + find_prefix (const key_type& k) const -> + std::pair<const_iterator, const_iterator> + { + std::pair<const_iterator, const_iterator> r; + r.first = this->lower_bound (k); + + for (r.second = r.first; r.second != this->end (); ++r.second) + { + if (!this->key_comp ().prefix (k, r.second->first)) + break; + } + + return r; + } +} |