Iros
Loading...
Searching...
No Matches
vector_front.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_empty.h
"
5
#include "
di/container/vector/vector_lookup.h
"
6
#include "
di/util/reference_wrapper.h
"
7
#include "
di/vocab/optional/prelude.h
"
8
9
namespace
di::container::vector
{
10
constexpr
auto
front
(
concepts::detail::ConstantVector
auto
&
vector
) {
11
return
lift_bool
(!
vector::empty
(
vector
)) % [&] {
12
return
util::ref
(
vector::lookup
(
vector
, 0));
13
};
14
}
15
}
di::concepts::detail::ConstantVector
Definition
constant_vector.h:5
constant_vector.h
prelude.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::empty
constexpr auto empty(concepts::detail::ConstantVector auto const &vector) -> bool
Definition
vector_empty.h:7
di::container::front
constexpr auto front
Definition
access.h:58
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
vector_empty.h
vector_lookup.h
libs
di
include
di
container
vector
vector_front.h
Generated by
1.13.0