- ranges[meta header]
- std::ranges[meta namespace]
- iota_view[meta class]
- function[meta id-type]
- cpp26[meta cpp]
constexpr bool empty() const;
iota_view
が空かどうかを取得する
return value_ == bound_;
空の場合にtrue
を返す。
C++20当初、この関数はview_interface
を通じて提供されていた。しかし、size()
の制約を満たさない様な型の範囲を生成しなおかつinput_range
となる場合、その様な範囲は空ではないことが分かるにも関わらずview_interface::empty()
は無効化されてしまっていた。
この問題を回避するために、本メンバ関数が追加された。
#include <ranges>
#include <vector>
#include <iostream>
int main() {
std::vector<int> v;
auto it = std::back_inserter(v);
auto r = std::views::iota(it);
std::cout << r.empty() << "\n";
}
false
- C++20
- Clang: ?
- GCC: ?
- ICC: ?
- Visual C++: ?