|
Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
|
#include <distinct_list.hpp>
Public Types | |
| using | value_type = T |
| using | KeyOf = aria::inplace_function<Key(const T&), 32> |
| Owning, heap-free key extractor (capacity 32 bytes). | |
| using | Signal = detail::ListSignal<T> |
Public Member Functions | |
| DistinctList (std::shared_ptr< Source > source, KeyOf key_of=default_key_of_()) | |
| Construct a DistinctList. | |
| ~DistinctList ()=default | |
| DistinctList (const DistinctList &)=delete | |
| DistinctList & | operator= (const DistinctList &)=delete |
| std::size_t | size () const |
| bool | empty () const |
| std::shared_ptr< T > | at (std::size_t derived_pos) const |
| std::vector< std::shared_ptr< T > > | snapshot () const |
| using aria::DistinctList< T, Key, Source >::value_type = T |
| using aria::DistinctList< T, Key, Source >::KeyOf = aria::inplace_function<Key(const T&), 32> |
Owning, heap-free key extractor (capacity 32 bytes).
| using aria::DistinctList< T, Key, Source >::Signal = detail::ListSignal<T> |
|
inline |
Construct a DistinctList.
The default key_of projects T to itself, which works as long as T is hashable + equality- comparable. Provide a custom extractor for richer T.
|
default |
|
delete |
|
delete |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |