Aria 2.0.0
C++23 MVVM framework (C++20 minimum) — reactive, coroutine-first, ABI-layered
Loading...
Searching...
No Matches
aria::SubscriptionBag Class Reference

Aggregate holder: owns multiple Subscriptions and drops them together. More...

#include <subscription.hpp>

Public Member Functions

 SubscriptionBag ()=default
 SubscriptionBag (const SubscriptionBag &)=delete
SubscriptionBagoperator= (const SubscriptionBag &)=delete
 SubscriptionBag (SubscriptionBag &&other) noexcept
SubscriptionBagoperator= (SubscriptionBag &&other) noexcept
 ~SubscriptionBag () noexcept
void add (Subscription s)
SubscriptionBagoperator+= (Subscription s)
void clear () noexcept
 Disconnect the current contents in reverse insertion order.
std::size_t size () const noexcept
bool empty () const noexcept

Detailed Description

Aggregate holder: owns multiple Subscriptions and drops them together.

Typical use: a ViewModel keeps a bag and += every subscription it opens; destroying the VM tears everything down in one step.

Constructor & Destructor Documentation

◆ SubscriptionBag() [1/3]

aria::SubscriptionBag::SubscriptionBag ( )
default

◆ SubscriptionBag() [2/3]

aria::SubscriptionBag::SubscriptionBag ( const SubscriptionBag & )
delete

◆ SubscriptionBag() [3/3]

aria::SubscriptionBag::SubscriptionBag ( SubscriptionBag && other)
inlinenoexcept

◆ ~SubscriptionBag()

aria::SubscriptionBag::~SubscriptionBag ( )
inlinenoexcept

Member Function Documentation

◆ operator=() [1/2]

SubscriptionBag & aria::SubscriptionBag::operator= ( const SubscriptionBag & )
delete

◆ operator=() [2/2]

SubscriptionBag & aria::SubscriptionBag::operator= ( SubscriptionBag && other)
inlinenoexcept

◆ add()

void aria::SubscriptionBag::add ( Subscription s)
inline

◆ operator+=()

SubscriptionBag & aria::SubscriptionBag::operator+= ( Subscription s)
inline

◆ clear()

void aria::SubscriptionBag::clear ( )
inlinenoexcept

Disconnect the current contents in reverse insertion order.

Reentrant additions belong to the new bag and survive this clear.

◆ size()

std::size_t aria::SubscriptionBag::size ( ) const
inlinenodiscardnoexcept

◆ empty()

bool aria::SubscriptionBag::empty ( ) const
inlinenodiscardnoexcept

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