1#ifndef _BBC_PARSE_DASH_MPD_DESCRIPTOR_HH_
2#define _BBC_PARSE_DASH_MPD_DESCRIPTOR_HH_
64 Descriptor(
const URI &scheme_id,
const std::optional<std::string> &
value = std::nullopt,
const std::optional<std::string> &
id = std::nullopt)
65 :m_schemeIdUri(scheme_id)
68 Descriptor(
URI &&scheme_id,
const std::optional<std::string> &
value = std::nullopt,
const std::optional<std::string> &
id = std::nullopt)
69 :m_schemeIdUri(scheme_id)
83 :m_schemeIdUri(other.m_schemeIdUri)
84 ,m_value(other.m_value)
96 :m_schemeIdUri(
std::move(other.m_schemeIdUri))
97 ,m_value(
std::move(other.m_value))
98 ,m_id(
std::move(other.m_id))
115 m_schemeIdUri = other.m_schemeIdUri;
116 m_value = other.m_value;
130 m_schemeIdUri = std::move(other.m_schemeIdUri);
131 m_value = std::move(other.m_value);
132 m_id = std::move(other.m_id);
142 if (m_schemeIdUri != other.m_schemeIdUri)
return false;
143 if (m_value.has_value() != other.m_value.has_value())
return false;
144 if (m_value.has_value() && m_value.value() != other.m_value.value())
return false;
145 if (m_id.has_value() != other.m_id.has_value())
return false;
146 if (m_id.has_value() && m_id.value() != other.m_id.value())
return false;
180 const std::optional<std::string> &
value()
const {
return m_value; };
181 std::optional<std::string> &
value() {
return m_value; };
204 bool has_id()
const {
return m_id.has_value(); };
212 const std::optional<std::string> &
id()
const {
return m_id; };
213 std::optional<std::string> &
id() {
return m_id; };
229 Descriptor &
id(std::string &&
id) { m_id = std::move(
id);
return *
this; };
256 void setXMLElement(xmlpp::Element &element)
const;
262 std::optional<std::string> m_value;
263 std::optional<std::string> m_id;
AdaptationSet class.
Definition AdaptationSet.hh:60
Definition Descriptor.hh:41
Descriptor & schemeId(URI &&scheme_id)
Definition Descriptor.hh:166
Descriptor & value(std::string &&val)
Definition Descriptor.hh:197
Descriptor(Descriptor &&other)
Definition Descriptor.hh:95
Descriptor(const URI &scheme_id, const std::optional< std::string > &value=std::nullopt, const std::optional< std::string > &id=std::nullopt)
Constructs a new Descriptor object.
Definition Descriptor.hh:64
virtual ~Descriptor()
Definition Descriptor.hh:104
Descriptor & id(const std::nullopt_t &)
Definition Descriptor.hh:220
Descriptor & value(const std::nullopt_t &)
Definition Descriptor.hh:188
URI & schemeId()
Definition Descriptor.hh:156
Descriptor(const Descriptor &other)
Definition Descriptor.hh:82
const std::optional< std::string > & id() const
Definition Descriptor.hh:212
std::optional< std::string > & id()
Definition Descriptor.hh:213
bool has_id() const
Definition Descriptor.hh:204
Descriptor & value(const std::string &val)
Definition Descriptor.hh:196
Descriptor & id(std::string &&id)
Definition Descriptor.hh:229
Descriptor & operator=(Descriptor &&other)
Definition Descriptor.hh:129
Descriptor(URI &&scheme_id, const std::optional< std::string > &value=std::nullopt, const std::optional< std::string > &id=std::nullopt)
Constructs a new Descriptor object.
Definition Descriptor.hh:68
bool has_value() const
Definition Descriptor.hh:173
std::optional< std::string > & value()
Definition Descriptor.hh:181
const URI & schemeId() const
Definition Descriptor.hh:155
bool operator==(const Descriptor &other) const
Definition Descriptor.hh:141
Descriptor & operator=(const Descriptor &other)
Definition Descriptor.hh:114
const std::optional< std::string > & value() const
Definition Descriptor.hh:180
Descriptor & schemeId(const URI &scheme_id)
Definition Descriptor.hh:165
Descriptor & id(const std::string &id)
Definition Descriptor.hh:228
Definition RepresentationBase.hh:54
Definition Representation.hh:55
#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