1#ifndef _BBC_PARSE_DASH_MPD_CODECS_HH_
2#define _BBC_PARSE_DASH_MPD_CODECS_HH_
51 Encoding(
const Encoding &other) :m_charset(other.m_charset), m_language(other.m_language) {};
90 m_charset = std::move(other.m_charset); m_language = std::move(other.m_language);
return *
this;
101 bool operator==(
const Encoding &other)
const {
return m_charset == other.m_charset && m_language == other.m_language; };
110 bool operator!=(
const Encoding &other)
const {
return m_charset != other.m_charset || m_language != other.m_language; };
119 operator std::string()
const {
return m_charset +
"'" + m_language +
"'"; };
122 std::string m_charset;
123 std::string m_language;
192 operator std::string()
const;
204 const std::optional<Encoding> &
encoding()
const {
return m_encoding; };
222 Codecs &
encoding(
const std::optional<Encoding> &enc) { m_encoding = enc;
return *
this; };
223 Codecs &
encoding(std::optional<Encoding> &&enc) { m_encoding = std::move(enc);
return *
this; };
230 const std::list<std::string> &
codecs()
const {
return m_codecs; };
237 std::list<std::string>::const_iterator
cbegin()
const {
return m_codecs.cbegin(); };
238 std::list<std::string>::const_iterator
begin()
const {
return m_codecs.cbegin(); };
239 std::list<std::string>::iterator
begin() {
return m_codecs.begin(); };
240 std::list<std::string>::const_iterator
codecsBegin()
const {
return m_codecs.cbegin(); };
241 std::list<std::string>::iterator
codecsBegin() {
return m_codecs.begin(); };
249 std::list<std::string>::const_iterator
cend()
const {
return m_codecs.cend(); };
250 std::list<std::string>::const_iterator
end()
const {
return m_codecs.cend(); };
251 std::list<std::string>::iterator
end() {
return m_codecs.end(); };
252 std::list<std::string>::const_iterator
codecsEnd()
const {
return m_codecs.cend(); };
253 std::list<std::string>::iterator
codecsEnd() {
return m_codecs.end(); };
262 const std::string &
codec(std::list<std::string>::size_type idx)
const;
295 std::optional<Encoding> m_encoding;
296 std::list<std::string> m_codecs;
std::ostream & operator<<(std::ostream &os, const com::bbc::libmpdpp ::Codecs::Encoding &enc)
virtual ~Encoding()
Definition Codecs.hh:71
Encoding(const Encoding &other)
Definition Codecs.hh:51
bool operator==(const Encoding &other) const
Definition Codecs.hh:101
Encoding()
Definition Codecs.hh:43
Encoding(const std::string &encoding)
bool operator!=(const Encoding &other) const
Definition Codecs.hh:110
Encoding & operator=(const Encoding &other)
Definition Codecs.hh:80
Encoding(Encoding &other)
Definition Codecs.hh:59
Encoding & operator=(Encoding &&other)
Definition Codecs.hh:89
std::list< std::string >::iterator codecsEnd()
Definition Codecs.hh:253
std::list< std::string >::iterator end()
Definition Codecs.hh:251
Codecs & codecsRemove(const std::string &codec)
std::list< std::string >::const_iterator codecsBegin() const
Definition Codecs.hh:240
Codecs & encoding(Encoding &&enc)
Definition Codecs.hh:221
Codecs & codecsRemove(const std::list< std::string >::iterator &it)
Codecs & codecsAdd(const std::string &codec)
Definition Codecs.hh:270
Codecs(const std::string &attr_value)
std::list< std::string >::const_iterator cend() const
Definition Codecs.hh:249
Codecs & encoding(const std::nullopt_t &)
Definition Codecs.hh:212
Codecs(const Codecs &to_copy)
std::list< std::string >::const_iterator codecsEnd() const
Definition Codecs.hh:252
std::list< std::string >::const_iterator cbegin() const
Definition Codecs.hh:237
std::list< std::string >::const_iterator end() const
Definition Codecs.hh:250
Codecs & encoding(std::optional< Encoding > &&enc)
Definition Codecs.hh:223
virtual ~Codecs()
Definition Codecs.hh:156
const std::string & codec(std::list< std::string >::size_type idx) const
Codecs & operator=(const Codecs &to_copy)
std::list< std::string >::iterator codecsBegin()
Definition Codecs.hh:241
const std::list< std::string > & codecs() const
Definition Codecs.hh:230
bool hasEncoding() const
Definition Codecs.hh:198
Codecs & operator=(Codecs &&to_move)
Codecs & codecsRemove(const std::list< std::string >::const_iterator &it)
Codecs & encoding(const Encoding &enc)
Definition Codecs.hh:220
std::list< std::string >::const_iterator begin() const
Definition Codecs.hh:238
bool operator==(const Codecs &to_compare) const
Codecs & codecsAdd(std::string &&codec)
Definition Codecs.hh:271
Codecs & encoding(const std::optional< Encoding > &enc)
Definition Codecs.hh:222
std::list< std::string >::iterator begin()
Definition Codecs.hh:239
const std::optional< Encoding > & encoding() const
Definition Codecs.hh:204
#define LIBMPDPP_NAMESPACE_CLASS(A)
Definition macros.hh:61
#define LIBMPDPP_NAMESPACE_END
Definition macros.hh:54
#define LIBMPDPP_PUBLIC_API
Used to mark something as part of the public API.
Definition macros.hh:21
#define LIBMPDPP_NAMESPACE_BEGIN
Definition macros.hh:50
Definition SegmentAvailability.hh:87