8 #include <adtfbase/adtf_base_type_traits.h>
18 namespace mediadescription
39 static_assert(base::penguin::detail::always_false<T>,
40 "There is no description specialization available for this type."
41 " Please make sure that you generate and include the corresponding header file.");
69 static_assert(base::penguin::detail::always_false<T>,
70 "There is no md_sample_data specialization available for this type."
71 " Please make sure that you generate and include the corresponding header file.");
83 template <
typename T,
typename UnderlyingType = T>
88 std::shared_ptr<adtf::mediadescription::ant::cSampleDecoder> pDecoder):
94 T operator[](
size_t nIndex)
const
96 return static_cast<T
>(
static_cast<UnderlyingType
>(m_pDecoder->GetElementValue(m_pIndices[nIndex])));
100 const size_t* m_pIndices =
nullptr;
101 std::shared_ptr<adtf::mediadescription::ant::cSampleDecoder> m_pDecoder;
112 template <
typename T>
117 std::shared_ptr<adtf::mediadescription::ant::cSampleDecoder> decoder):
118 m_pIndices(aIndices),
130 std::shared_ptr<adtf::mediadescription::ant::cSampleDecoder> m_pDecoder;
136 template <
typename T>
142 pIndices(std::move(pIndices))
145 std::shared_ptr<indices<T>> pIndices;
161 template <
typename T>
196 m_oFactory(oStreamType),
197 m_pIndices(std::make_shared<
indices<T>>())
200 m_pIndices->Find(m_oFactory,
"");
210 m_oFactory(strStructName, strDefinition),
211 m_pIndices(std::make_shared<
indices<T>>())
214 m_pIndices->Find(m_oFactory,
"");
231 std::shared_ptr<indices<T>> m_pIndices;
Copyright © Audi Electronics Venture GmbH.
Defines access methods for the interface of a Stream Type - see also Stream Type and Stream Meta Type...
Base object pointer to realize binary compatible reference counting in interface methods.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
#define THROW_IF_FAILED(s)
throws if the expression returns a failed tResult