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

Ordered tube tracks. More...

#include <StormByte/multimedia/pipeline/track.hxx>

Inheritance diagram for StormByte::Multimedia::Pipeline::Tracks:
Inheritance graph
[legend]
Collaboration diagram for StormByte::Multimedia::Pipeline::Tracks:
Collaboration graph
[legend]

Public Types

using size_type = StormByte::Iterable< std::vector< std::unique_ptr< Track > > >::size_type
 Count type.
 
using const_iterator = StormByte::Iterable< std::vector< std::unique_ptr< Track > > >::const_iterator
 Const iterator.
 

Public Member Functions

Lifecycle
 Tracks () noexcept=default
 Empty list.
 
 Tracks (const Tracks &other)
 Copy constructor.
 
 Tracks (Tracks &&other) noexcept=default
 Move constructor.
 
virtual ~Tracks () noexcept=default
 Destructor.
 
Tracksoperator= (const Tracks &other)
 Copy assignment.
 
Tracksoperator= (Tracks &&other) noexcept=default
 Move assignment.
 
Container
const_iterator begin () const noexcept
 Const begin.
 
const_iterator end () const noexcept
 Const end.
 
const_iterator cbegin () const noexcept
 Const begin.
 
const_iterator cend () const noexcept
 Const end.
 
const Trackoperator[] (size_type i) const
 Track at mux slot i.
 
size_type size () const noexcept
 Element count.
 
bool empty () const noexcept
 Whether there are no tracks.
 
void add (const Track &track)
 Appends a clone of track.
 
void add (Track &&track)
 Appends track via Track::Move.
 

Detailed Description

Ordered tube tracks.

Index is mux slot.

Does not validate origin indexes or config. Consumers of Plan do. add / begin / end / size / empty are lowercase on purpose: container surface.

Member Typedef Documentation

◆ const_iterator

using StormByte::Multimedia::Pipeline::Tracks::const_iterator = StormByte::Iterable<std::vector<std::unique_ptr<Track> >>::const_iterator

Const iterator.

◆ size_type

using StormByte::Multimedia::Pipeline::Tracks::size_type = StormByte::Iterable<std::vector<std::unique_ptr<Track> >>::size_type

Count type.

Constructor & Destructor Documentation

◆ Tracks() [1/3]

StormByte::Multimedia::Pipeline::Tracks::Tracks ( )
defaultnoexcept

Empty list.

◆ Tracks() [2/3]

StormByte::Multimedia::Pipeline::Tracks::Tracks ( const Tracks other)

Copy constructor.

Clones every Track.

Parameters
otherSource list.

◆ Tracks() [3/3]

StormByte::Multimedia::Pipeline::Tracks::Tracks ( Tracks &&  other)
defaultnoexcept

Move constructor.

Parameters
otherList to take.

◆ ~Tracks()

virtual StormByte::Multimedia::Pipeline::Tracks::~Tracks ( )
virtualdefaultnoexcept

Destructor.

Member Function Documentation

◆ add() [1/2]

void StormByte::Multimedia::Pipeline::Tracks::add ( const Track track)
inline

Appends a clone of track.

Parameters
trackTrack to copy.

◆ add() [2/2]

void StormByte::Multimedia::Pipeline::Tracks::add ( Track &&  track)
inline

Appends track via Track::Move.

Parameters
trackTrack to take.

◆ begin()

const_iterator StormByte::Multimedia::Pipeline::Tracks::begin ( ) const
inlinenoexcept

Const begin.

Returns
Iterator to the first element (unique_ptr<Track>).

◆ cbegin()

const_iterator StormByte::Multimedia::Pipeline::Tracks::cbegin ( ) const
inlinenoexcept

Const begin.

Returns
Iterator to the first element.

◆ cend()

const_iterator StormByte::Multimedia::Pipeline::Tracks::cend ( ) const
inlinenoexcept

Const end.

Returns
Past-the-last iterator.

◆ empty()

bool StormByte::Multimedia::Pipeline::Tracks::empty ( ) const
inlinenoexcept

Whether there are no tracks.

Returns
true if empty.

◆ end()

const_iterator StormByte::Multimedia::Pipeline::Tracks::end ( ) const
inlinenoexcept

Const end.

Returns
Past-the-last iterator.

◆ operator=() [1/2]

Tracks & StormByte::Multimedia::Pipeline::Tracks::operator= ( const Tracks other)

Copy assignment.

Clones every Track.

Parameters
otherSource list.
Returns
*this.

◆ operator=() [2/2]

Tracks & StormByte::Multimedia::Pipeline::Tracks::operator= ( Tracks &&  other)
defaultnoexcept

Move assignment.

Parameters
otherList to take.
Returns
*this.

◆ operator[]()

const Track & StormByte::Multimedia::Pipeline::Tracks::operator[] ( size_type  i) const
inline

Track at mux slot i.

Parameters
iZero-based index.
Returns
Track.

◆ size()

size_type StormByte::Multimedia::Pipeline::Tracks::size ( ) const
inlinenoexcept

Element count.

Returns
Number of tracks.

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