Add given code
This commit is contained in:
parent
c4d81c4e81
commit
3c0ddf3021
|
@ -1 +1,27 @@
|
|||
#pragma once
|
||||
|
||||
#include <map>
|
||||
|
||||
namespace amby {
|
||||
|
||||
template <typename K, typename V> class interval_map {
|
||||
public:
|
||||
interval_map(V const& init) : init_(init) {}
|
||||
|
||||
void assign(K const& begin, K const& end, V const& val) {
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
V const& operator[](K const& key) const {
|
||||
auto it = underlying_.upper_bound(key);
|
||||
if (it == underlying_.begin())
|
||||
return init_;
|
||||
return std::prev(it)->second;
|
||||
}
|
||||
|
||||
private:
|
||||
V init_;
|
||||
std::map<K, V> underlying_{};
|
||||
};
|
||||
|
||||
} // namespace amby
|
||||
|
|
Loading…
Reference in a new issue