Tag Parser  9.1.2
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Public Types | Public Member Functions | List of all members
TagParser::TagTarget Class Reference

The TagTarget class specifies the target of a tag. More...

#include <tagtarget.h>

Public Types

using IdType = std::uint64_t
 
using IdContainerType = std::vector< IdType >
 

Public Member Functions

 TagTarget (std::uint64_t level=0, IdContainerType tracks=IdContainerType(), IdContainerType chapters=IdContainerType(), IdContainerType editions=IdContainerType(), IdContainerType attachments=IdContainerType())
 Constructs a new TagTarget with the specified level, track, chapter, edition and attachment. More...
 
std::uint64_t level () const
 Returns the level. More...
 
void setLevel (std::uint64_t level)
 Sets the level. More...
 
const std::string & levelName () const
 Returns the level name. More...
 
void setLevelName (const std::string &levelName)
 Sets the level name. More...
 
const IdContainerTypetracks () const
 Returns the tracks. More...
 
IdContainerTypetracks ()
 
const IdContainerTypechapters () const
 Returns the chapters. More...
 
IdContainerTypechapters ()
 
const IdContainerTypeeditions () const
 Returns the editions. More...
 
IdContainerTypeeditions ()
 
const IdContainerTypeattachments () const
 Returns the attachments. More...
 
IdContainerTypeattachments ()
 
bool isEmpty () const
 Returns an indication whether the target is empty. More...
 
void clear ()
 Clears the TagTarget. More...
 
std::string toString (const std::function< TagTargetLevel(std::uint64_t)> &tagTargetMapping) const
 Returns the string representation of the current instance. More...
 
std::string toString (TagTargetLevel tagTargetLevel) const
 Returns the string representation of the current instance. More...
 
bool operator== (const TagTarget &other) const
 Returns whether the tag targets are equal. More...
 

Detailed Description

The TagTarget class specifies the target of a tag.

Tags might only target a specific track, chapter, ...

Specifying a target is currently only fully supported by Matroska.

Since Ogg saves tags at stream level, the stream can be specified by passing a TagTarget instance to OggContainer::createTag(). However, only the first track in the tracks() array is considered and any other values are just ignored.

In any other tag formats, the specified target is (currently) completely ignored.

Definition at line 20 of file tagtarget.h.

Member Typedef Documentation

◆ IdContainerType

Definition at line 23 of file tagtarget.h.

◆ IdType

using TagParser::TagTarget::IdType = std::uint64_t

Definition at line 22 of file tagtarget.h.

Constructor & Destructor Documentation

◆ TagTarget()

TagParser::TagTarget::TagTarget ( std::uint64_t  level = 0,
IdContainerType  tracks = IdContainerType(),
IdContainerType  chapters = IdContainerType(),
IdContainerType  editions = IdContainerType(),
IdContainerType  attachments = IdContainerType() 
)
inline

Constructs a new TagTarget with the specified level, track, chapter, edition and attachment.

Definition at line 59 of file tagtarget.h.

Member Function Documentation

◆ attachments() [1/2]

IdContainerType& TagParser::TagTarget::attachments ( )

◆ attachments() [2/2]

TagTarget::IdContainerType & TagParser::TagTarget::attachments ( ) const
inline

Returns the attachments.

Definition at line 152 of file tagtarget.h.

◆ chapters() [1/2]

IdContainerType& TagParser::TagTarget::chapters ( )

◆ chapters() [2/2]

TagTarget::IdContainerType & TagParser::TagTarget::chapters ( ) const
inline

Returns the chapters.

Definition at line 120 of file tagtarget.h.

◆ clear()

void TagParser::TagTarget::clear ( )
inline

Clears the TagTarget.

Definition at line 176 of file tagtarget.h.

◆ editions() [1/2]

IdContainerType& TagParser::TagTarget::editions ( )

◆ editions() [2/2]

TagTarget::IdContainerType & TagParser::TagTarget::editions ( ) const
inline

Returns the editions.

Definition at line 136 of file tagtarget.h.

◆ isEmpty()

bool TagParser::TagTarget::isEmpty ( ) const
inline

Returns an indication whether the target is empty.

Definition at line 168 of file tagtarget.h.

◆ level()

std::uint64_t TagParser::TagTarget::level ( ) const
inline

Returns the level.

Definition at line 72 of file tagtarget.h.

◆ levelName()

const std::string & TagParser::TagTarget::levelName ( ) const
inline

Returns the level name.

Definition at line 88 of file tagtarget.h.

◆ operator==()

bool TagParser::TagTarget::operator== ( const TagTarget other) const
inline

Returns whether the tag targets are equal.

Remarks
Targets where only the level name differs are considered equal though.

Definition at line 190 of file tagtarget.h.

◆ setLevel()

void TagParser::TagTarget::setLevel ( std::uint64_t  level)
inline

Sets the level.

Definition at line 80 of file tagtarget.h.

◆ setLevelName()

void TagParser::TagTarget::setLevelName ( const std::string &  levelName)
inline

Sets the level name.

Definition at line 96 of file tagtarget.h.

◆ toString() [1/2]

std::string TagParser::TagTarget::toString ( const std::function< TagTargetLevel(std::uint64_t)> &  tagTargetMapping) const
inline

Returns the string representation of the current instance.

Remarks
Uses the specified tagTargetMapping function to map the assigned level() to a TagTargetLevel if no levelName() is assigned.

Definition at line 201 of file tagtarget.h.

◆ toString() [2/2]

string TagParser::TagTarget::toString ( TagTargetLevel  tagTargetLevel) const

Returns the string representation of the current instance.

Remarks
Uses the specified tagTargetLevel if no levelName() is assigned.

Definition at line 60 of file tagtarget.cpp.

◆ tracks() [1/2]

IdContainerType& TagParser::TagTarget::tracks ( )

◆ tracks() [2/2]

TagTarget::IdContainerType & TagParser::TagTarget::tracks ( ) const
inline

Returns the tracks.

Definition at line 104 of file tagtarget.h.


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