44 "di::front() customizations must return Optional<meta::ContainerReference<T>>");
80 "di::back() customizations must return Optional<meta::ContainerReference<T>>");
99 template<
typename T,
typename K>
102 template<
typename T,
typename K>
107 template<
typename T,
typename K>
110 {
container[index] } -> SameAs<meta::ContainerReference<T>>;
113 template<
typename T,
typename K>
118 template<
typename T,
typename K>
120 constexpr auto operator()(T&&
container, K&& key)
const {
124 "di::at() customizations must return an Optional");
127 return container.at(di::forward<K>(key));
132 auto const index = SSizeType(di::forward<K>(key));
133 if (index < 0 || index >=
size) {
169 template<
typename T,
typename K>
171 requires(
requires {
at(di::forward<T>(
container), di::forward<K>(key)); })
Definition optional_forward_declaration.h:5
Definition bidirectional_container.h:8
Definition common_container.h:10
Definition operations.h:11
Definition forward_container.h:8
Implicit conversion for this test refers to the ability to return a value of function from a type.
Definition operations.h:89
Definition random_access_container.h:8
Definition tag_invoke.h:33
constexpr auto prev
Definition prev.h:28
constexpr auto front
Definition access.h:58
constexpr auto empty
Definition empty.h:45
constexpr auto ssize
Definition ssize.h:34
constexpr auto at
Definition access.h:147
constexpr auto back_unchecked
Definition access.h:179
constexpr auto size
Definition size.h:54
constexpr auto front_unchecked
Definition access.h:178
constexpr auto end
Definition end.h:47
constexpr auto back
Definition access.h:94
constexpr auto begin
Definition begin.h:44
constexpr auto at_unchecked
Definition access.h:180
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition json_deserializer.h:532
Definition zstring_parser.h:9
constexpr auto nullopt
Definition nullopt.h:15
constexpr auto c_
A value of type Constexpr<val>.
Definition constexpr.h:252
constexpr auto curry_back
Definition curry_back.h:141
constexpr auto operator()(T &&container, K &&key) const -> decltype(auto) requires(
Definition access.h:170
constexpr auto operator()(T &&container) const -> decltype(auto) requires(
Definition access.h:161
constexpr auto operator()(T &&container) const -> decltype(auto) requires(
Definition access.h:152