Iros
 
Loading...
Searching...
No Matches
vector_pop_back.h
Go to the documentation of this file.
1#pragma once
2
6#include "di/util/move.h"
7#include "di/util/relocate.h"
9
10namespace di::container::vector {
12 auto size = vector::size(vector);
13 return lift_bool(size > 0) % [&] {
14 auto new_size = size - 1;
15 auto result = util::relocate(vector::lookup(vector, new_size));
16 vector.assume_size(new_size);
17 return result;
18 };
19}
20}
Definition mutable_vector.h:13
Definition vector_append_container.h:17
constexpr auto lookup(concepts::detail::ConstantVector auto &vector, size_t index) -> decltype(auto)
Definition vector_lookup.h:10
constexpr auto pop_back(concepts::detail::MutableVector auto &vector)
Definition vector_pop_back.h:11
constexpr auto size(concepts::detail::ConstantVector auto const &vector) -> size_t
Definition vector_size.h:7
constexpr auto relocate
Definition relocate.h:21
constexpr auto lift_bool
Definition lift_bool.h:13