This is a thin wrapper for absl::InlinedVector<T, N, A>
which is a drop-in replacement for std::vector<T, A>
.
More...
#include <mim/util/vector.h>
|
using | Base = absl::InlinedVector<T, N, A> |
|
|
|
template<class F>
requires (std::is_invocable_r_v<T, F, size_t>) |
constexpr | Vector (size_t size, F &&f) noexcept(std::is_nothrow_invocable_r_v< T, F, size_t > &&std::is_nothrow_assignable_v< T &, T >) |
|
template<std::ranges::forward_range R, class F>
requires (std::is_invocable_r_v<T, F, decltype(*std::ranges::begin(range))> && !std::is_same_v<std::decay_t<R>, Vector>) |
constexpr | Vector (R &&range, F &&f) noexcept(std::is_nothrow_invocable_r_v< T, F, decltype(*std::ranges::begin(range))> &&std::is_nothrow_assignable_v< T &, T >) |
|
|
constexpr auto | span () noexcept |
|
constexpr auto | span () const noexcept |
|
constexpr auto | view () const noexcept |
|
template<class T, size_t N = Default_Inlined_Size<T>, class A = std::allocator<T>>
class mim::Vector< T, N, A >
This is a thin wrapper for absl::InlinedVector<T, N, A>
which is a drop-in replacement for std::vector<T, A>
.
In addition, there are generator-like/lambda-based constructors and conversions to Span available.
Definition at line 17 of file vector.h.
◆ Base
template<class T, size_t N = Default_Inlined_Size<T>, class A = std::allocator<T>>
using mim::Vector< T, N, A >::Base = absl::InlinedVector<T, N, A> |
◆ Vector() [1/2]
template<class T, size_t N = Default_Inlined_Size<T>, class A = std::allocator<T>>
template<class F>
requires (std::is_invocable_r_v<T, F, size_t>)
|
inlineexplicitconstexprnoexcept |
◆ Vector() [2/2]
template<class T, size_t N = Default_Inlined_Size<T>, class A = std::allocator<T>>
template<std::ranges::forward_range R, class F>
requires (std::is_invocable_r_v<T, F, decltype(*std::ranges::begin(range))> && !std::is_same_v<std::decay_t<R>,
Vector>)
|
inlineexplicitconstexprnoexcept |
◆ span() [1/2]
template<class T, size_t N = Default_Inlined_Size<T>, class A = std::allocator<T>>
◆ span() [2/2]
template<class T, size_t N = Default_Inlined_Size<T>, class A = std::allocator<T>>
◆ view()
template<class T, size_t N = Default_Inlined_Size<T>, class A = std::allocator<T>>
◆ swap
template<class T, size_t N = Default_Inlined_Size<T>, class A = std::allocator<T>>
void swap |
( |
Vector< T, N, A > & | v1, |
|
|
Vector< T, N, A > & | v2 ) |
|
friend |
The documentation for this class was generated from the following file: