Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
aria::ListChange< T > Struct Template Reference

An owning event in a sequential list edit stream. More...

#include <list_change.hpp>

Public Types

using Snapshot = std::vector<std::shared_ptr<T>>

Static Public Member Functions

static ListChange reset (Snapshot items)
static ListChange cleared ()

Public Attributes

ListChangeKind kind
std::size_t index = 0
std::shared_ptr< T > item
std::size_t from_index = 0
std::shared_ptr< const Snapshotsnapshot = nullptr

Detailed Description

template<typename T>
struct aria::ListChange< T >

An owning event in a sequential list edit stream.

Indices refer to the receiver's replayed mirror; the producer may already hold the batch's final state. Consumers use item/snapshot, never at(index), to read event payloads.

Member Typedef Documentation

◆ Snapshot

template<typename T>
using aria::ListChange< T >::Snapshot = std::vector<std::shared_ptr<T>>

Member Function Documentation

◆ reset()

template<typename T>
ListChange aria::ListChange< T >::reset ( Snapshot items)
inlinestatic

◆ cleared()

template<typename T>
ListChange aria::ListChange< T >::cleared ( )
inlinestatic

Member Data Documentation

◆ kind

template<typename T>
ListChangeKind aria::ListChange< T >::kind

◆ index

template<typename T>
std::size_t aria::ListChange< T >::index = 0

◆ item

template<typename T>
std::shared_ptr<T> aria::ListChange< T >::item

◆ from_index

template<typename T>
std::size_t aria::ListChange< T >::from_index = 0

◆ snapshot

template<typename T>
std::shared_ptr<const Snapshot> aria::ListChange< T >::snapshot = nullptr

The documentation for this struct was generated from the following file: