add capacity interface

This commit is contained in:
2019-05-04 10:49:54 +07:00
parent 49dff175dd
commit cd3e02093f
4 changed files with 38 additions and 0 deletions

View File

@@ -110,6 +110,18 @@ namespace flat_hpp
const_reverse_iterator rend() const noexcept { return data_.rend(); }
const_reverse_iterator crend() const noexcept { return data_.crend(); }
bool empty() const noexcept {
return data_.empty();
}
size_type size() const noexcept {
return data_.size();
}
size_type max_size() const noexcept {
return data_.max_size();
}
template < typename P
, typename = std::enable_if_t<std::is_constructible<value_type, P>::value> >
std::pair<iterator, bool> insert(P&& p) {

View File

@@ -96,6 +96,13 @@ TEST_CASE("flat_map") {
auto s3 = map_t({{0,1}, {1,2}}, std::less<int>(), alloc_t());
}
}
SECTION("capacity") {
using map_t = flat_map<int, unsigned>;
map_t s0;
s0.empty();
s0.size();
s0.max_size();
}
SECTION("inserts") {
struct obj_t {
obj_t(int i) : i(i) {}

View File

@@ -109,6 +109,18 @@ namespace flat_hpp
const_reverse_iterator rend() const noexcept { return data_.rend(); }
const_reverse_iterator crend() const noexcept { return data_.crend(); }
bool empty() const noexcept {
return data_.empty();
}
size_type size() const noexcept {
return data_.size();
}
size_type max_size() const noexcept {
return data_.max_size();
}
template < typename P
, typename = std::enable_if_t<std::is_constructible<value_type, P>::value> >
std::pair<iterator, bool> insert(P&& p) {

View File

@@ -87,6 +87,13 @@ TEST_CASE("flat_set") {
auto s3 = set_t({0,1,2}, std::less<int>(), alloc_t());
}
}
SECTION("capacity") {
using set_t = flat_set<int>;
set_t s0;
s0.empty();
s0.size();
s0.max_size();
}
SECTION("inserts") {
struct obj_t {
obj_t(int i) : i(i) {}