14 constexpr FakeAssigner& operator+=(T&&) noexcept {
return *
this; }
17 constexpr FakeAssigner& operator-=(T&&) noexcept {
return *
this; }
20 constexpr FakeAssigner& operator*=(T&&) noexcept {
return *
this; }
23 constexpr FakeAssigner& operator/=(T&&) noexcept {
return *
this; }
33 template <
class T, T value>
39 using size_type = std::size_t;
45 using difference_type = std::ptrdiff_t;
46 using iterator_category = std::forward_iterator_tag;
48 constexpr T operator*()
const noexcept {
return value; }
50 constexpr const_iterator operator++(
int)
noexcept {
return *
this; }
54 constexpr bool operator!=(
const_iterator)
const noexcept {
return false; }
60 template <
class... Args>
61 constexpr explicit FakeContainer(Args&&...) noexcept {}
64 constexpr void init(S
const&,
bool)
noexcept { }
65 constexpr void finish() noexcept { }
70 template <
class... Args>
71 constexpr void scatter(Args&&...) noexcept { }
74 constexpr void push_back(Arg&&) noexcept { }
76 template <
class... Args>
77 constexpr void emplace_back(Args&&...) noexcept { }
80 constexpr void reserve(Size&&) noexcept { }
83 constexpr void resize(Size&&) noexcept { }
86 constexpr bool empty() const noexcept {
return false; }
93 template <
class Index>
98 template <
class Index>
102 template <
class Index>
106 template <
class Index>
111 constexpr FakeContainer
const& front() const noexcept {
return *
this; }
115 constexpr operator T() const noexcept {
return value; }
130 using FakeAssigner::operator=;
131 using FakeAssigner::operator+=;
132 using FakeAssigner::operator-=;
133 using FakeAssigner::operator*=;
134 using FakeAssigner::operator/=;
A container-like data-structure not storing anything and with empty implementations in many container...
Definition: FakeContainer.hpp:36
constexpr const_iterator begin() const noexcept
Return iterator that always redirects to a bool true.
Definition: FakeContainer.hpp:121
constexpr FakeContainer & operator[](Index &&) noexcept
Definition: FakeContainer.hpp:94
constexpr FakeContainer const & at(Index &&) const noexcept
Const element access.
Definition: FakeContainer.hpp:107
constexpr FakeContainer & at(Index &&) noexcept
Mutable element access.
Definition: FakeContainer.hpp:103
constexpr const_iterator cbegin() const noexcept
Return iterator that always redirects to a bool true.
Definition: FakeContainer.hpp:124
constexpr FakeContainer const & operator[](Index &&) const noexcept
Definition: FakeContainer.hpp:99
constexpr bool empty() const noexcept
This container is never empty.
Definition: FakeContainer.hpp:86
Definition: FakeContainer.hpp:9
Definition: FakeContainer.hpp:42
constexpr bool operator==(const_iterator) const noexcept
Comparison of the iterator is always true.
Definition: FakeContainer.hpp:53