29template<
typename Self,
typename Value>
32 constexpr auto self() -> Self& {
return static_cast<Self&
>(*this); }
33 constexpr auto self()
const -> Self
const& {
return static_cast<Self const&
>(*this); }
35 using Iterator = Value*;
36 using ConstIterator = Value
const*;
42 auto result = Self(util::forward<Args>(args)...);
46 return util::move(result);
59 constexpr auto push_back(Value
const& value) ->
decltype(
auto)
65 constexpr auto push_back(Value&& value) ->
decltype(
auto)
71 template<
typename... Args>
77 template<concepts::InputContainer Con>
83 constexpr auto insert(ConstIterator position, Value
const& value)
89 constexpr auto insert(ConstIterator position, Value&& value)
95 template<concepts::InputContainer Con>
101 template<
typename... Args>
103 constexpr auto emplace(ConstIterator position, Args&&... args) {
104 return vector::emplace(self(), position, util::forward<Args>(args)...);
132 template<
typename F, SameAs<Tag<erase_if>> T = Tag<erase_if>>
Definition constant_vector_interface.h:28
constexpr auto first(size_t count)
Definition constant_vector_interface.h:63
constexpr auto end()
Definition constant_vector_interface.h:41
constexpr auto last(size_t count)
Definition constant_vector_interface.h:66
Definition mutable_vector_interface.h:30
constexpr auto erase_unstable(ConstIterator iter)
Definition mutable_vector_interface.h:112
constexpr auto resize(size_t count, Value const &value)
Definition mutable_vector_interface.h:120
constexpr auto resize(size_t count)
Definition mutable_vector_interface.h:114
constexpr auto pop_back()
Definition mutable_vector_interface.h:107
constexpr auto erase(ConstIterator position)
Definition mutable_vector_interface.h:109
constexpr void clear()
Definition mutable_vector_interface.h:57
constexpr auto iterator(ConstIterator iter)
Definition mutable_vector_interface.h:127
constexpr auto emplace(ConstIterator position, Args &&... args)
Definition mutable_vector_interface.h:103
constexpr auto clone() const
Definition mutable_vector_interface.h:51
constexpr auto insert(ConstIterator position, Value &&value)
Definition mutable_vector_interface.h:89
constexpr auto append_container(Con &&container)
Definition mutable_vector_interface.h:79
constexpr auto emplace_back(Args &&... args) -> decltype(auto)
Definition mutable_vector_interface.h:73
constexpr auto push_back(Value const &value) -> decltype(auto) requires(concepts::CopyConstructible< Value >)
Definition mutable_vector_interface.h:59
constexpr friend auto tag_invoke(T, Self &self, F &&function)
Definition mutable_vector_interface.h:134
constexpr auto insert_container(ConstIterator position, Con &&container)
Definition mutable_vector_interface.h:97
constexpr auto push_back(Value &&value) -> decltype(auto) requires(concepts::MoveConstructible< Value >)
Definition mutable_vector_interface.h:65
constexpr auto insert(ConstIterator position, Value const &value)
Definition mutable_vector_interface.h:83
constexpr auto erase(ConstIterator start, ConstIterator end)
Definition mutable_vector_interface.h:110
constexpr friend auto tag_invoke(types::Tag< util::create_in_place >, InPlaceType< Self >, Con &&container, Args &&... args)
Definition mutable_vector_interface.h:40
constexpr auto reserve(size_t n)
Definition mutable_vector_interface.h:129
Definition operations.h:11
Definition container_compatible.h:9
Definition operations.h:34
Definition operations.h:24
Definition operations.h:43
Definition any_storable.h:9
constexpr auto erase_unstable(Vec &vector, CIter citerator) -> Iter
Definition vector_erase_unstable.h:13
constexpr auto append_container(Vec &vector, Con &&container) -> R
Definition vector_append_container.h:21
constexpr auto pop_back(concepts::detail::MutableVector auto &vector)
Definition vector_pop_back.h:11
constexpr auto erase(Vec &vector, CIter cstart, CIter cend) -> Iter
Definition vector_erase.h:14
constexpr auto emplace_back(Vec &vector, Args &&... args) -> decltype(auto)
Definition vector_emplace_back.h:17
constexpr auto emplace(Vec &vector, CIter cposition, Args &&... args) -> G
Definition vector_emplace.h:24
constexpr auto iterator(Vec &, CIter iterator) -> Iter
Definition vector_iterator.h:13
constexpr auto insert_container(Vec &vector, Cit it, Con &&container) -> R
Definition vector_append_container.h:31
constexpr auto reserve(Vec &vector, size_t capacity) -> R
Definition vector_reserve.h:16
constexpr void clear(Vec &vector)
Definition vector_clear.h:12
constexpr auto resize(Vec &vector, size_t count) -> R
Definition vector_resize.h:19
constexpr auto clone
Definition clone.h:27
constexpr auto count
Definition count.h:37
constexpr auto remove_if
Definition remove_if.h:38
size_t usize
Definition integers.h:33
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
constexpr auto create(Args &&... args)
Definition create.h:21
constexpr auto invoke_as_fallible
Definition invoke_as_fallible.h:37
constexpr auto try_infallible
Definition try_infallible.h:31
Definition in_place_type.h:5