std::ranges...::empty_view(3)
Hii bestie π welcome to the std::ranges...::empty_view(3) page from the C++ Standard Libary manual β yes, the manual name is spelled exactly like that, and we're keeping it. This one is short, chaotic in the best way, and literally about a view that contains nothing. Let's go. π¦
π NAME π
std::ranges::views::empty,std::ranges::empty_view β std::ranges::views::empty,std::ranges::empty_view
πΈ Synopsis πΈ
Defined in header <ranges>.
template<class T>
requires std::is_object_v<T> (1)
(since C++20)
class empty_view : public ranges::view_interface<empty_view<T>>
namespace views {
template<class T> inline constexpr empty_view<T> empty{}; (2)
(since C++20)
}
- A range factory that produces a view of no elements of a particular type.
- Variable template for
empty_view.
π Member functions π
beginβ returnsnullptr;[static](C++20); public static member function.endβ returnsnullptr;[static](C++20); public static member function.dataβ returnsnullptr;[static](C++20); public static member function.sizeβ returns0(zero);[static](C++20); public static member function.emptyβ returnstrue;[static](C++20); public static member function.
Inherited from std::ranges::view_interface
cbeginβ returns a constant iterator to the beginning of the range. (C++23) (public member function ofstd::ranges::view_interface<D>).cendβ returns a sentinel for the constant iterator of the range. (C++23) (public member function ofstd::ranges::view_interface<D>).operator boolβ returns whether the derived view is not empty. Provided ifranges::emptyis applicable to it. (C++20) (public member function ofstd::ranges::view_interface<D>).frontβ returns the first element in the derived view. Provided if it satisfiesforward_range. (C++20) (public member function ofstd::ranges::view_interface<D>).backβ returns the last element in the derived view. Provided if it satisfiesbidirectional_rangeandcommon_range. (C++20) (public member function ofstd::ranges::view_interface<D>).operator[]β returns the n^th element in the derived view. Provided if it satisfiesrandom_access_range. (C++20) (public member function ofstd::ranges::view_interface<D>).
β¨ std::ranges::empty_view::begin β¨
static constexpr T* begin() noexcept { return nullptr; } (since C++20)
empty_view does not reference any element.
β¨ std::ranges::empty_view::end β¨
static constexpr T* end() noexcept { return nullptr; } (since C++20)
empty_view does not reference any element.
β¨ std::ranges::empty_view::data β¨
static constexpr T* data() noexcept { return nullptr; } (since C++20)
empty_view does not reference any element.
β¨ std::ranges::empty_view::size β¨
static constexpr std::size_t size() noexcept { return 0; } (since C++20)
empty_view is always empty.
β¨ std::ranges::empty_view::empty β¨
static constexpr bool empty() noexcept { return true; } (since C++20)
empty_view is always empty.
π§ Helper templates π§
template<class T>
inline constexpr bool enable_borrowed_range<ranges::empty_view<T>> =
true;
(since C++20)
This specialization of std::ranges::enable_borrowed_range makes empty_view satisfy borrowed_range.
π Notes π
β οΈ Althoughempty_viewobtainsfront,back, andoperator[]member functions fromview_interface, calls to them always result in undefined behavior since anempty_viewis always empty.
The inheritedoperator boolconversion function always returnsfalse.
π₯ Example π₯
// Run this code
#include <ranges>
int main()
{
std::ranges::empty_view<long> e;
static_assert(std::ranges::empty(e));
static_assert(0 == e.size());
static_assert(nullptr == e.data());
static_assert(nullptr == e.begin());
static_assert(nullptr == e.end());
}
π See also π
ranges::single_viewβ a view that contains a single element of a specified value; (class template) (C++20).views::singleβ (customization point object) (C++20).views::all_tβ a view that includes all elements of a range; (alias template) (C++20).views::allβ (range adaptor object) (C++20).ranges::ref_viewβ a view of the elements of some other range; (C++20) (class template).
kisses bestie π β source: http://cppreference.com, version/date: 2024.06.10, page: std::ranges...::empty_view(3).
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms