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

Move-only reservation against one shared sampler-memory cap. More...

#include <sample_memory_governor.hpp>

Public Member Functions

 SampleMemoryLease ()=default
 SampleMemoryLease (const SampleMemoryLease &)=delete
SampleMemoryLease & operator= (const SampleMemoryLease &)=delete
 SampleMemoryLease (SampleMemoryLease &&other) noexcept
SampleMemoryLease & operator= (SampleMemoryLease &&other) noexcept
 ~SampleMemoryLease ()
 operator bool () const noexcept
SampleMemoryCategory category () const noexcept
std::uint64_t bytes () const noexcept
SampleMemoryGovernorEpoch epoch () const noexcept
bool issued_by (const SampleMemoryGovernorHandle &governor) const noexcept
void reset () noexcept

Friends

class SampleMemoryGovernor
class SampleMemoryGovernorHandle

Detailed Description

Move-only reservation against one shared sampler-memory cap.

Leases may outlive the SampleMemoryGovernor facade that issued them. Reset and destruction release the reservation exactly once. All operations are background/control-thread operations; they are not audio-callback safe.

Constructor & Destructor Documentation

◆ SampleMemoryLease() [1/3]

pulp::audio::SampleMemoryLease::SampleMemoryLease ( )
default

◆ SampleMemoryLease() [2/3]

pulp::audio::SampleMemoryLease::SampleMemoryLease ( const SampleMemoryLease & )
delete

◆ SampleMemoryLease() [3/3]

pulp::audio::SampleMemoryLease::SampleMemoryLease ( SampleMemoryLease && other)
inlinenoexcept

◆ ~SampleMemoryLease()

pulp::audio::SampleMemoryLease::~SampleMemoryLease ( )
inline

Member Function Documentation

◆ bytes()

std::uint64_t pulp::audio::SampleMemoryLease::bytes ( ) const
inlinenoexcept

◆ category()

SampleMemoryCategory pulp::audio::SampleMemoryLease::category ( ) const
inlinenoexcept

◆ epoch()

SampleMemoryGovernorEpoch pulp::audio::SampleMemoryLease::epoch ( ) const
inlinenoexcept

◆ issued_by()

bool pulp::audio::SampleMemoryLease::issued_by ( const SampleMemoryGovernorHandle & governor) const
inlinenoexcept

◆ operator bool()

pulp::audio::SampleMemoryLease::operator bool ( ) const
inlineexplicitnoexcept

◆ operator=() [1/2]

SampleMemoryLease & pulp::audio::SampleMemoryLease::operator= ( const SampleMemoryLease & )
delete

◆ operator=() [2/2]

SampleMemoryLease & pulp::audio::SampleMemoryLease::operator= ( SampleMemoryLease && other)
inlinenoexcept

◆ reset()

void pulp::audio::SampleMemoryLease::reset ( )
inlinenoexcept

◆ SampleMemoryGovernor

friend class SampleMemoryGovernor
friend

◆ SampleMemoryGovernorHandle

friend class SampleMemoryGovernorHandle
friend

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