|
Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
|
#include <selection.hpp>
Public Types | |
| using | value_type = T |
| using | handle = std::shared_ptr<T> |
Public Member Functions | |
| MultiSelection ()=default | |
| ~MultiSelection () | |
| MultiSelection (const MultiSelection &)=delete | |
| MultiSelection & | operator= (const MultiSelection &)=delete |
| MultiSelection (MultiSelection &&)=delete | |
| MultiSelection & | operator= (MultiSelection &&)=delete |
| reactive::Property< std::vector< handle > > & | selected () noexcept |
| Reactive snapshot of selected handles, in pick order. | |
| const reactive::Property< std::vector< handle > > & | selected () const noexcept |
| std::vector< handle > | values () const |
| std::size_t | size () const |
| bool | empty () const |
| bool | is_selected (const handle &item) const |
| void | add (handle item) |
| Add item to the selection (appended at the end of pick order). | |
| void | remove (const handle &item) |
| Remove item from the selection. No-op if not selected. | |
| void | toggle (handle item) |
| Toggle membership. | |
| void | clear () |
| void | bind_to (ObservableList< T > &source) |
| Keep selected handles that survive each replayed Remove/Replace/Reset. | |
| void | unbind () noexcept |
| using aria::MultiSelection< T >::value_type = T |
| using aria::MultiSelection< T >::handle = std::shared_ptr<T> |
|
default |
|
inline |
|
delete |
|
delete |
|
delete |
|
delete |
|
inlinenodiscardnoexcept |
Reactive snapshot of selected handles, in pick order.
The Property is replaced wholesale on every change so observers always get a coherent vector.
|
inlinenodiscardnoexcept |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
|
inline |
Add item to the selection (appended at the end of pick order).
No-op if already selected or null.
|
inline |
Remove item from the selection. No-op if not selected.
|
inline |
Toggle membership.
|
inline |
|
inline |
Keep selected handles that survive each replayed Remove/Replace/Reset.
Source destruction is safe. See Selection::bind_to for setup threading.
|
inlinenoexcept |