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);
79 template <
class T1,
class T2>
inline std::size_t operator()(
const std::pair<T1, T2> &pair)
const
82 seed ^= std::hash<T1>()(pair.first) + 0x9e3779b9;
83 seed ^= std::hash<T2>()(pair.second) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
91 std::unordered_map<EbmlElement *, MatroskaOffsetStates> m_offsets;
92 std::unordered_multimap<std::uint64_t, EbmlElement *> m_cueElementByOriginalOffset;
93 std::unordered_map<EbmlElement *, MatroskaReferenceOffsetPair> m_relativeOffsets;
94 std::unordered_multimap<std::pair<std::uint64_t, std::uint64_t>,
EbmlElement *, PairHash> m_cueRelativePositionElementByOriginalOffsets;
95 std::unordered_map<EbmlElement *, std::uint64_t> m_sizes;