mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
flat_base: take more common operations
This commit is contained in:
parent
a38ac6a52f
commit
f8166fac25
@ -125,6 +125,18 @@ public:
|
||||
key_compare key_comp() const {
|
||||
return comp();
|
||||
}
|
||||
|
||||
// Capacity.
|
||||
|
||||
bool empty() const { return data().empty(); }
|
||||
size_t size() const { return data().size(); }
|
||||
size_t max_size() const { return data().max_size(); }
|
||||
|
||||
// Modifiers.
|
||||
|
||||
void clear() {
|
||||
data().clear();
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace flat_detail
|
||||
@ -221,18 +233,8 @@ public:
|
||||
}
|
||||
const_reverse_iterator rend() const { return crend(); }
|
||||
|
||||
// Capacity.
|
||||
|
||||
bool empty() const { return data().empty(); }
|
||||
size_t size() const { return data().size(); }
|
||||
size_t max_size() const { return data().max_size(); }
|
||||
|
||||
// Modifiers.
|
||||
|
||||
void clear() {
|
||||
data().clear();
|
||||
}
|
||||
|
||||
std::pair<iterator, bool> insert(const value_type &value) {
|
||||
auto it = std::lower_bound(data().begin(), data().end(), value, comp());
|
||||
if (it == data().end() || comp()(value, *it)) {
|
||||
@ -442,12 +444,6 @@ public:
|
||||
}
|
||||
const_reverse_iterator rend() const { return crend(); }
|
||||
|
||||
// Capacity.
|
||||
|
||||
bool empty() const { return data().empty(); }
|
||||
size_t size() const { return data().size(); }
|
||||
size_t max_size() const { return data().max_size(); }
|
||||
|
||||
private:
|
||||
using storage_iterator = typename storage_type::iterator;
|
||||
using storage_const_iterator = typename storage_type::const_iterator;
|
||||
@ -504,10 +500,6 @@ private:
|
||||
public:
|
||||
// Modifiers.
|
||||
|
||||
void clear() {
|
||||
data().clear();
|
||||
}
|
||||
|
||||
std::pair<iterator, bool> insert(const value_type &value) {
|
||||
auto rv = data_insert(value);
|
||||
return std::make_pair(iterator(rv.first), rv.second);
|
||||
|
Loading…
x
Reference in New Issue
Block a user