| ||||||||||||||||||||||
| Range primitives | |||||||
| |||||||
| Range concepts | |||||||||||||||||||
| |||||||||||||||||||
| Range factories | |||||||||
| |||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper items | |||||||||||||||||
| |||||||||||||||||
constexprbool empty()const; | (since C++20) | |
Checks whether the range is empty (i.e. whether the beginning value is the same as the sentinel value).
Contents |
#include <cassert>#include <ranges> int main(){auto a= std::ranges::iota_view<int,int>();assert(a.empty()); auto b= std::ranges::iota_view(4);assert(!b.empty()); auto c= std::ranges::iota_view(4,8);assert(!c.empty());}
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 4001 | C++20 | the inherited memberempty function was not always valid | empty is always provided |
returns the number of elements, provided only if the underlying (adapted) range satisfiessized_range(public member function)[edit] |