StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
StormByte::Multimedia::Container Class Reference

Immutable container identity owned by StormByte::Multimedia::Registry. More...

#include <StormByte/multimedia/container.hxx>

Public Member Functions

 Container (const Container &) noexcept=delete
 Copy is disabled; instances are unique in the registry.
 
 Container (Container &&) noexcept=default
 Move constructor.
 
 ~Container () noexcept=default
 Destructor.
 
Containeroperator= (const Container &) noexcept=delete
 Copy assignment is disabled.
 
Containeroperator= (Container &&) noexcept=default
 Move assignment.
 
bool operator== (const Container &other) const noexcept
 Identity equality (same registry slot).
 
bool operator!= (const Container &other) const noexcept
 Identity inequality.
 
constexpr std::string_view Name () const noexcept
 StormByte container name.
 
constexpr std::string_view Description () const noexcept
 Human description.
 
constexpr std::string_view Extension () const noexcept
 Default file extension without a leading dot.
 
bool HasAccess (Access access) const noexcept
 Tests Read/Write flags.
 
bool Allows (const CodecRefs &codecs) const noexcept
 Whether every codec in codecs is allowed in this container.
 

Friends

class Registry
 

Detailed Description

Immutable container identity owned by StormByte::Multimedia::Registry.

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

Constructor & Destructor Documentation

◆ Container() [1/2]

StormByte::Multimedia::Container::Container ( const Container )
deletenoexcept

Copy is disabled; instances are unique in the registry.

◆ Container() [2/2]

StormByte::Multimedia::Container::Container ( Container &&  )
defaultnoexcept

Move constructor.

◆ ~Container()

StormByte::Multimedia::Container::~Container ( )
defaultnoexcept

Destructor.

Member Function Documentation

◆ Allows()

bool StormByte::Multimedia::Container::Allows ( const CodecRefs codecs) const
noexcept

Whether every codec in codecs is allowed in this container.

Parameters
codecsCodecs to test.
Returns
true if codecs is empty or all entries are in the compatibility set.

◆ Description()

constexpr std::string_view StormByte::Multimedia::Container::Description ( ) const
inlineconstexprnoexcept

Human description.

Returns
View to a process-lifetime literal.

◆ Extension()

constexpr std::string_view StormByte::Multimedia::Container::Extension ( ) const
inlineconstexprnoexcept

Default file extension without a leading dot.

Returns
View to a table literal, or empty if the row has none.

◆ HasAccess()

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

Tests Read/Write flags.

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

◆ Name()

constexpr std::string_view StormByte::Multimedia::Container::Name ( ) const
inlineconstexprnoexcept

StormByte container name.

Returns
View to a process-lifetime literal.

◆ operator!=()

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

Identity inequality.

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

◆ operator=() [1/2]

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

Copy assignment is disabled.

Returns
*this.

◆ operator=() [2/2]

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

Move assignment.

Returns
*this.

◆ operator==()

bool StormByte::Multimedia::Container::operator== ( const Container other) const
noexcept

Identity equality (same registry slot).

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

Friends And Related Symbol Documentation

◆ Registry

friend class Registry
friend

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