StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
StormByte::Multimedia::Codec Class Reference

Immutable codec identity owned by Registry. More...

#include <StormByte/multimedia/codec.hxx>

Public Member Functions

 Codec (const Codec &) noexcept=delete
 Copy is disabled; instances are unique in the registry.
 Codec (Codec &&) noexcept=default
 Move constructor.
 ~Codec () noexcept=default
 Destructor.
Codec & operator= (const Codec &) noexcept=delete
 Copy assignment is disabled.
Codec & operator= (Codec &&) noexcept=default
 Move assignment.
bool operator== (const Codec &other) const noexcept
 Identity equality (same registry slot).
bool operator!= (const Codec &other) const noexcept
 Identity inequality.
constexpr enum Type Type () const noexcept
 Media kind of this codec.
constexpr std::string_view Name () const noexcept
 StormByte codec name.
constexpr std::string_view Description () const noexcept
 Human description.
bool HasAccess (Access access) const noexcept
 Tests Read/Write flags.

Friends

class Registry

Detailed Description

Immutable codec identity owned by Registry.

Name() is the StormByte key. FFmpeg ids live only in the registry map.

Constructor & Destructor Documentation

◆ Codec() [1/2]

StormByte::Multimedia::Codec::Codec ( const Codec & )
deletenoexcept

Copy is disabled; instances are unique in the registry.

◆ Codec() [2/2]

StormByte::Multimedia::Codec::Codec ( Codec && )
defaultnoexcept

Move constructor.

◆ ~Codec()

StormByte::Multimedia::Codec::~Codec ( )
defaultnoexcept

Destructor.

Member Function Documentation

◆ Description()

std::string_view StormByte::Multimedia::Codec::Description ( ) const
inlineconstexprnoexcept

Human description.

Returns
View to a process-lifetime literal.

◆ HasAccess()

bool StormByte::Multimedia::Codec::HasAccess ( Access access) const
noexcept

Tests Read/Write flags.

Parameters
accessFlags to test.
Returns
true if every bit in access is set.

◆ Name()

std::string_view StormByte::Multimedia::Codec::Name ( ) const
inlineconstexprnoexcept

StormByte codec name.

Returns
View to a process-lifetime literal.

◆ operator!=()

bool StormByte::Multimedia::Codec::operator!= ( const Codec & other) const
noexcept

Identity inequality.

Parameters
otherOther codec.
Returns
true if they are different instances.

◆ operator=() [1/2]

Codec & StormByte::Multimedia::Codec::operator= ( Codec && )
defaultnoexcept

Move assignment.

Returns
*this.

◆ operator=() [2/2]

Codec & StormByte::Multimedia::Codec::operator= ( const Codec & )
deletenoexcept

Copy assignment is disabled.

Returns
*this.

◆ operator==()

bool StormByte::Multimedia::Codec::operator== ( const Codec & other) const
noexcept

Identity equality (same registry slot).

Parameters
otherOther codec.
Returns
true if both refer to the same instance.

◆ Type()

enum Type StormByte::Multimedia::Codec::Type ( ) const
inlineconstexprnoexcept

Media kind of this codec.

Returns
Type value.

◆ Registry

friend class Registry
friend

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