Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::timeline::SlotList Class Reference

Immutable authored slot order with persistent structural sharing. More...

#include <clip_launch.hpp>

Classes

class  Iterator
 Forward iterator that retains raw or persistent slot storage. More...

Public Member Functions

 SlotList ()
 Constructs an empty list.
 SlotList (std::vector< Slot > slots)
 Takes ownership of slots in authored order.
 SlotList (std::initializer_list< Slot > slots)
 Copies slots in authored order.
std::size_t size () const noexcept
 Returns the number of authored slots.
bool empty () const noexcept
 Returns whether the list contains no slots.
const Slot & operator[] (std::size_t index) const noexcept
 Borrows the slot at index; index must be less than size().
const Slot & front () const noexcept
 Borrows the first slot; the list must be nonempty.
const Slot & back () const noexcept
 Borrows the last slot; the list must be nonempty.
const Slot * find (ItemId id) const noexcept
 Finds a slot by identity, or returns null.
Iterator begin () const noexcept
 Returns the first iterator in authored order.
Iterator end () const noexcept
 Returns the end sentinel.
bool shares_storage_with (const SlotList &other) const noexcept
 Reports whether both snapshots share their complete backing store.
bool operator== (const SlotList &other) const noexcept
 Compares authored slot values in order.

Friends

class detail::SlotListAccess

Detailed Description

Immutable authored slot order with persistent structural sharing.

Fresh Scene values may be assembled from a vector. A Sequence-owned Scene uses a persistent AVL-backed store, so edits path-copy affected index paths and share untouched nodes with prior snapshots.

Constructor & Destructor Documentation

◆ SlotList() [1/3]

pulp::timeline::SlotList::SlotList ( )

Constructs an empty list.

◆ SlotList() [2/3]

pulp::timeline::SlotList::SlotList ( std::vector< Slot > slots)

Takes ownership of slots in authored order.

◆ SlotList() [3/3]

pulp::timeline::SlotList::SlotList ( std::initializer_list< Slot > slots)

Copies slots in authored order.

Member Function Documentation

◆ back()

const Slot & pulp::timeline::SlotList::back ( ) const
inlinenoexcept

Borrows the last slot; the list must be nonempty.

◆ begin()

Iterator pulp::timeline::SlotList::begin ( ) const
noexcept

Returns the first iterator in authored order.

◆ empty()

bool pulp::timeline::SlotList::empty ( ) const
inlinenoexcept

Returns whether the list contains no slots.

◆ end()

Iterator pulp::timeline::SlotList::end ( ) const
noexcept

Returns the end sentinel.

◆ find()

const Slot * pulp::timeline::SlotList::find ( ItemId id) const
noexcept

Finds a slot by identity, or returns null.

◆ front()

const Slot & pulp::timeline::SlotList::front ( ) const
inlinenoexcept

Borrows the first slot; the list must be nonempty.

◆ operator==()

bool pulp::timeline::SlotList::operator== ( const SlotList & other) const
noexcept

Compares authored slot values in order.

◆ operator[]()

const Slot & pulp::timeline::SlotList::operator[] ( std::size_t index) const
noexcept

Borrows the slot at index; index must be less than size().

◆ shares_storage_with()

bool pulp::timeline::SlotList::shares_storage_with ( const SlotList & other) const
noexcept

Reports whether both snapshots share their complete backing store.

◆ size()

std::size_t pulp::timeline::SlotList::size ( ) const
noexcept

Returns the number of authored slots.

◆ detail::SlotListAccess

friend class detail::SlotListAccess
friend

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/timeline/include/pulp/timeline/clip_launch.hpp