|
StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
|
Move-only RAII base for FFmpeg C pointers. More...
#include <StormByte/multimedia/ffmpeg/AVPointer.hxx>
Public Member Functions | |
| constexpr | AVPointer () noexcept=delete |
| Default constructor (deleted). | |
| constexpr | AVPointer (const AVPointer &) noexcept=delete |
| Copy constructor (deleted). | |
| constexpr | AVPointer (AVPointer &&other) noexcept |
| Move constructor. | |
| virtual | ~AVPointer () noexcept=default |
| Destructor. | |
| constexpr AVPointer & | operator= (const AVPointer &) noexcept=delete |
| Copy assignment (deleted). | |
| constexpr AVPointer & | operator= (AVPointer &&other) noexcept |
| Move assignment. | |
Protected Member Functions | |
| constexpr const std::decay_t< AVType > * | Get () const noexcept |
| Const view of the raw FFmpeg pointer. | |
| constexpr std::decay_t< AVType > * | Get () noexcept |
| Mutable view of the raw FFmpeg pointer. | |
| constexpr std::decay_t< AVType > * | Detach () noexcept |
| Yields the raw pointer and leaves this wrapper empty. | |
| constexpr | AVPointer (std::decay_t< AVType > *ptr) noexcept |
Adopts ptr. | |
| virtual void | Free () noexcept=0 |
| Releases the underlying resource. | |
Protected Attributes | |
| std::decay_t< AVType > * | m_ptr = nullptr |
| Owned FFmpeg pointer. | |
Move-only RAII base for FFmpeg C pointers.
| AVType | Underlying FFmpeg struct type. |
Derived classes must implement Free(). Get() is protected; each derived type re-exports it as private so only its friends (other wrappers) may touch the raw pointer.
|
constexprdeletenoexcept |
Default constructor (deleted).
An empty wrapper is not useful; derived types adopt a pointer through the explicit constructor or a factory such as Open().
|
constexprdeletenoexcept |
Copy constructor (deleted).
|
inlineconstexprnoexcept |
Move constructor.
| other | Source wrapper. |
|
virtualdefaultnoexcept |
Destructor.
Does not free; derived Free() owns that.
|
inlineexplicitconstexprprotectednoexcept |
Adopts ptr.
| ptr | Raw pointer. |
|
inlineconstexprprotectednoexcept |
Yields the raw pointer and leaves this wrapper empty.
Ownership moves to the caller. The wrapper destructor must not free a detached pointer. Not public; derived types using this as private for friends such as Filter::FFmpeg::Save.
|
protectedpure virtualnoexcept |
Releases the underlying resource.
|
inlineconstexprprotectednoexcept |
Const view of the raw FFmpeg pointer.
Not public. Derived wrappers expose typed work; friends of the derived class may using this as private.
|
inlineconstexprprotectednoexcept |
Mutable view of the raw FFmpeg pointer.
|
inlineconstexprnoexcept |
Move assignment.
| other | Source wrapper. |
|
constexprdeletenoexcept |
Copy assignment (deleted).
|
protected |
Owned FFmpeg pointer.