LeviLamina
Loading...
Searching...
No Matches
no_mapped_container_t.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5#include "mc/platform/brstd/no_value_t.h"
6
7// auto generated forward declare list
8// clang-format off
9namespace brstd { struct no_value_t; }
10// clang-format on
11
12namespace brstd {
13
15public:
16 struct iterator {
17 public:
18 using difference_type = std::ptrdiff_t;
19 using value_type = ::brstd::no_value_t;
20 using reference = ::brstd::no_value_t&;
21 using iterator_category = std::random_access_iterator_tag;
22
23 public:
24 reference operator*() const {
25 static ::brstd::no_value_t value{};
26 return value;
27 }
28
29 iterator& operator++() { return *this; }
30 iterator operator++(int) { return *this; }
31 iterator& operator--() { return *this; }
32 iterator operator--(int) { return *this; }
33 iterator& operator+=(difference_type) { return *this; }
34 iterator& operator-=(difference_type) { return *this; }
35 iterator operator+(difference_type) const { return *this; }
36 iterator operator-(difference_type) const { return *this; }
37 difference_type operator-(iterator const&) const { return 0; }
38 bool operator==(iterator const&) const = default;
39 std::strong_ordering operator<=>(iterator const&) const = default;
40 };
41
42 using const_iterator = iterator;
43
44 [[nodiscard]] iterator begin() const { return iterator(); }
45 [[nodiscard]] iterator end() const { return iterator(); }
46 [[nodiscard]] iterator rbegin() const { return iterator(); }
47 [[nodiscard]] iterator rend() const { return iterator(); }
48 [[nodiscard]] iterator cbegin() const { return iterator(); }
49 [[nodiscard]] iterator cend() const { return iterator(); }
50 [[nodiscard]] iterator crbegin() const { return iterator(); }
51 [[nodiscard]] iterator crend() const { return iterator(); }
52};
53
54} // namespace brstd
Definition no_mapped_container_t.h:16
Definition no_mapped_container_t.h:14
Definition no_value_t.h:7