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

Permission to pass a component's bytes on. More...

#include <component.hpp>

Public Types

enum class  State : std::uint8_t { unknown = 0 , restricted = 1 , allowed = 2 }
 unknown is first so that every zero-initialization lands on it. More...

Public Member Functions

constexpr Redistribution ()=default
 The only implicit state. Silence is not a grant.
constexpr State state () const
constexpr bool is_granted () const
constexpr bool is_restricted () const
constexpr bool is_unknown () const

Static Public Member Functions

static constexpr Redistribution granted ()
 An explicit grant. Spelling this is the act; there is no other way in.
static constexpr Redistribution restricted ()
static constexpr Redistribution unknown ()

Friends

constexpr bool operator== (const Redistribution &, const Redistribution &)=default

Detailed Description

Permission to pass a component's bytes on.

This is a class rather than a plain enum because the permissive state must be unreachable by accident. A default-constructed, value-initialized, or zero-filled Redistribution is unknown; allowed can only be reached by naming Redistribution::granted(), which reads as the act it is. That matters because a grant is a statement about someone else's work: a row whose author never spelled the grant must not acquire one from an aggregate initializer, a memset, a forgotten field, or an enumerator that happened to sit at zero. unknown is a real state and never decays to allowed; an export policy that claims redistribution must refuse rather than assume.

Member Enumeration Documentation

◆ State

enum class pulp::authoring_capsule::Redistribution::State : std::uint8_t
strong

unknown is first so that every zero-initialization lands on it.

Enumerator
unknown 
restricted 
allowed 

Constructor & Destructor Documentation

◆ Redistribution()

pulp::authoring_capsule::Redistribution::Redistribution ( )
constexprdefault

The only implicit state. Silence is not a grant.

Member Function Documentation

◆ granted()

constexpr Redistribution pulp::authoring_capsule::Redistribution::granted ( )
inlinestaticnodiscardconstexpr

An explicit grant. Spelling this is the act; there is no other way in.

◆ is_granted()

bool pulp::authoring_capsule::Redistribution::is_granted ( ) const
inlinenodiscardconstexpr

◆ is_restricted()

bool pulp::authoring_capsule::Redistribution::is_restricted ( ) const
inlinenodiscardconstexpr

◆ is_unknown()

bool pulp::authoring_capsule::Redistribution::is_unknown ( ) const
inlinenodiscardconstexpr

◆ restricted()

constexpr Redistribution pulp::authoring_capsule::Redistribution::restricted ( )
inlinestaticnodiscardconstexpr

◆ state()

State pulp::authoring_capsule::Redistribution::state ( ) const
inlinenodiscardconstexpr

◆ unknown()

constexpr Redistribution pulp::authoring_capsule::Redistribution::unknown ( )
inlinestaticnodiscardconstexpr

◆ operator==

bool operator== ( const Redistribution & ,
const Redistribution &  )
friend

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