1 #ifndef TAG_PARSER_MATROSKACUES_H
2 #define TAG_PARSER_MATROSKACUES_H
7 #include <unordered_map>
14 constexpr std::uint64_t currentValue()
const;
15 void update(std::uint64_t newValue);
16 constexpr std::uint64_t initialValue()
const;
19 std::uint64_t m_initialValue;
20 std::uint64_t m_currentValue;
24 : m_initialValue(initialValue)
25 , m_currentValue(initialValue)
31 return m_currentValue;
36 m_currentValue = newValue;
41 return m_initialValue;
47 constexpr std::uint64_t referenceOffset()
const;
50 std::uint64_t m_referenceOffset;
55 , m_referenceOffset(referenceOffset)
61 return m_referenceOffset;
69 std::uint64_t totalSize()
const;
72 bool updateOffsets(std::uint64_t originalOffset, std::uint64_t newOffset);
73 bool updateRelativeOffsets(std::uint64_t referenceOffset, std::uint64_t originalRelativeOffset, std::uint64_t newRelativeOffset);
81 std::unordered_map<EbmlElement *, MatroskaOffsetStates> m_offsets;
82 std::unordered_map<EbmlElement *, MatroskaReferenceOffsetPair> m_relativeOffsets;
83 std::unordered_map<EbmlElement *, std::uint64_t> m_sizes;
92 : m_cuesElement(nullptr)
103 return m_cuesElement;
111 m_cuesElement =
nullptr;
118 #endif // TAG_PARSER_MATROSKACUES_H