Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::music::DevelopmentPattern< MaxEvents > Class Template Reference

Fixed-capacity, onset-ordered collection used by development operations. More...

#include <pattern_development.hpp>

Public Member Functions

constexpr PatternDevelopmentError assign (std::span< const PatternEvent > events) noexcept
 Replaces the pattern with validated events, preserving the old value on error.
constexpr PatternDevelopmentError insert (PatternEvent event) noexcept
 Inserts one validated event in onset order.
constexpr std::size_t size () const noexcept
 Returns the number of stored events.
constexpr bool empty () const noexcept
 Returns true when the pattern contains no events.
constexpr std::optional< PatternEvent > event (std::size_t index) const noexcept
 Returns the event at an onset-ordered index, or no value when out of range.
constexpr std::optional< PatternEvent > find_id (PatternEventId id) const noexcept
 Finds an event by stable identity.
constexpr std::optional< PatternEvent > find_onset (timebase::TickPosition onset) const noexcept
 Finds an event at an exact timeline onset.
constexpr std::size_t anchor_count () const noexcept
 Returns the number of mandatory anchor events.
constexpr auto operator<=> (const DevelopmentPattern &) const =default

Static Public Attributes

static constexpr std::size_t capacity = MaxEvents
 Maximum number of events the pattern can hold.

Detailed Description

template<std::size_t MaxEvents = 64>
class pulp::music::DevelopmentPattern< MaxEvents >

Fixed-capacity, onset-ordered collection used by development operations.

Member Function Documentation

◆ anchor_count()

template<std::size_t MaxEvents = 64>
std::size_t pulp::music::DevelopmentPattern< MaxEvents >::anchor_count ( ) const
inlineconstexprnoexcept

Returns the number of mandatory anchor events.

◆ assign()

template<std::size_t MaxEvents = 64>
PatternDevelopmentError pulp::music::DevelopmentPattern< MaxEvents >::assign ( std::span< const PatternEvent > events)
inlinenodiscardconstexprnoexcept

Replaces the pattern with validated events, preserving the old value on error.

◆ empty()

template<std::size_t MaxEvents = 64>
bool pulp::music::DevelopmentPattern< MaxEvents >::empty ( ) const
inlineconstexprnoexcept

Returns true when the pattern contains no events.

◆ event()

template<std::size_t MaxEvents = 64>
std::optional< PatternEvent > pulp::music::DevelopmentPattern< MaxEvents >::event ( std::size_t index) const
inlinenodiscardconstexprnoexcept

Returns the event at an onset-ordered index, or no value when out of range.

◆ find_id()

template<std::size_t MaxEvents = 64>
std::optional< PatternEvent > pulp::music::DevelopmentPattern< MaxEvents >::find_id ( PatternEventId id) const
inlinenodiscardconstexprnoexcept

Finds an event by stable identity.

◆ find_onset()

template<std::size_t MaxEvents = 64>
std::optional< PatternEvent > pulp::music::DevelopmentPattern< MaxEvents >::find_onset ( timebase::TickPosition onset) const
inlinenodiscardconstexprnoexcept

Finds an event at an exact timeline onset.

◆ insert()

template<std::size_t MaxEvents = 64>
PatternDevelopmentError pulp::music::DevelopmentPattern< MaxEvents >::insert ( PatternEvent event)
inlinenodiscardconstexprnoexcept

Inserts one validated event in onset order.

◆ operator<=>()

template<std::size_t MaxEvents = 64>
auto pulp::music::DevelopmentPattern< MaxEvents >::operator<=> ( const DevelopmentPattern< MaxEvents > & ) const
constexprdefault

◆ size()

template<std::size_t MaxEvents = 64>
std::size_t pulp::music::DevelopmentPattern< MaxEvents >::size ( ) const
inlineconstexprnoexcept

Returns the number of stored events.

Member Data Documentation

◆ capacity

template<std::size_t MaxEvents = 64>
std::size_t pulp::music::DevelopmentPattern< MaxEvents >::capacity = MaxEvents
staticconstexpr

Maximum number of events the pattern can hold.


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