di
0.1.0
Loading...
Searching...
No Matches
vector_at.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/container/vector/constant_vector.h
"
4
#include "
di/container/vector/vector_lookup.h
"
5
#include "
di/container/vector/vector_size.h
"
6
#include "
di/types/prelude.h
"
7
#include "
di/util/reference_wrapper.h
"
8
#include "
di/vocab/optional/prelude.h
"
9
10
namespace
di::container::vector
{
11
constexpr
auto
at
(concepts::detail::ConstantVector
auto
&
vector
,
size_t
index) {
12
return
lift_bool
(index <
vector::size
(
vector
)) % [&] {
13
return
util::ref
(
vector::lookup
(
vector
, index));
14
};
15
}
16
}
constant_vector.h
di::container::vector
Definition
vector_append_container.h:17
di::container::vector::lookup
constexpr auto lookup(concepts::detail::ConstantVector auto &vector, size_t index) -> decltype(auto)
Definition
vector_lookup.h:10
di::container::vector::size
constexpr auto size(concepts::detail::ConstantVector auto const &vector) -> size_t
Definition
vector_size.h:7
di::container::at
constexpr auto at
Definition
access.h:147
di::util::ref
constexpr auto ref
Definition
reference_wrapper.h:98
di::lift_bool
constexpr auto lift_bool
Definition
lift_bool.h:13
reference_wrapper.h
prelude.h
vector_lookup.h
vector_size.h
prelude.h
di
container
vector
vector_at.h
Generated by
1.13.2