Alchemy 0.0.9999
Alchemy is a C++ library for multimedia file management.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Alchemy::Media::Codec Class Reference

The codec class. More...

#include <codec.hxx>

Inheritance diagram for Alchemy::Media::Codec:
Inheritance graph
[legend]
Collaboration diagram for Alchemy::Media::Codec:
Collaboration graph
[legend]

Public Types

using PointerType = std::shared_ptr< const Codec >
 The pointer type.
 

Public Member Functions

 Codec (const std::string &name, const std::string &long_name, const Flags::Codec &flags, const Decoders &decoders, const Encoders &encoders)
 Constructor.
 
 Codec (std::string &&name, std::string &&long_name, Flags::Codec &&flags, Decoders &&decoders, Encoders &&encoders)
 Constructor.
 
 Codec (const Codec &other)=default
 Copy constructor.
 
 Codec (Codec &&other) noexcept=default
 Move constructor.
 
Codecoperator= (const Codec &other)=default
 Copy assignment operator.
 
Codecoperator= (Codec &&other) noexcept=default
 Move assignment operator.
 
 ~Codec () noexcept override=default
 Default destructor.
 
const Flags::CodecFlags () const noexcept override
 Gets the codec flags.
 
StormByte::Multimedia::Media::Type Type () const noexcept override
 Gets the codec type.
 
Media::Decoders & Decoders () noexcept
 Gets the decoders.
 
const Media::Decoders & Decoders () const noexcept
 Gets the decoders.
 
Media::Encoders & Encoders () noexcept
 Gets the encoders.
 
const Media::Encoders & Encoders () const noexcept
 Gets the encoders.
 

Detailed Description

The codec class.

Constructor & Destructor Documentation

◆ Codec() [1/4]

Alchemy::Media::Codec::Codec ( const std::string &  name,
const std::string &  long_name,
const Flags::Codec flags,
const Decoders decoders,
const Encoders encoders 
)

Constructor.

Parameters
idThe codec ID.
nameThe codec name.
long_nameThe codec long name.
flagsThe codec flags.
decodersThe decoders.
encodersThe encoders.

◆ Codec() [2/4]

Alchemy::Media::Codec::Codec ( std::string &&  name,
std::string &&  long_name,
Flags::Codec &&  flags,
Decoders &&  decoders,
Encoders &&  encoders 
)

Constructor.

Parameters
nameThe codec name.
long_nameThe codec long name.
flagsThe codec flags.
decodersThe decoders.
encodersThe encoders.

◆ Codec() [3/4]

Alchemy::Media::Codec::Codec ( const Codec other)
default

Copy constructor.

Parameters
otherThe Codec object to copy.

◆ Codec() [4/4]

Alchemy::Media::Codec::Codec ( Codec &&  other)
defaultnoexcept

Move constructor.

Parameters
otherThe Codec object to move.

Member Function Documentation

◆ Decoders() [1/2]

const Media::Decoders & Alchemy::Media::Codec::Decoders ( ) const
noexcept

Gets the decoders.

Returns
The decoders.

◆ Decoders() [2/2]

Media::Decoders & Alchemy::Media::Codec::Decoders ( )
noexcept

Gets the decoders.

Returns
The decoders.

◆ Encoders() [1/2]

const Media::Encoders & Alchemy::Media::Codec::Encoders ( ) const
noexcept

Gets the encoders.

Returns
The encoders.

◆ Encoders() [2/2]

Media::Encoders & Alchemy::Media::Codec::Encoders ( )
noexcept

Gets the encoders.

Returns
The encoders.

◆ Flags()

const Flags::Codec * Alchemy::Media::Codec::Flags ( ) const
overridenoexcept

Gets the codec flags.

Returns
The codec flags.

◆ operator=() [1/2]

Codec & Alchemy::Media::Codec::operator= ( Codec &&  other)
defaultnoexcept

Move assignment operator.

Parameters
otherThe Codec object to move.
Returns
A reference to this object.

◆ operator=() [2/2]

Codec & Alchemy::Media::Codec::operator= ( const Codec other)
default

Copy assignment operator.

Parameters
otherThe Codec object to copy.
Returns
A reference to this object.

◆ Type()

StormByte::Multimedia::Media::Type Alchemy::Media::Codec::Type ( ) const
overridenoexcept

Gets the codec type.

Returns
Gets type

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