Tag Parser  10.0.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
matroskachapter.h
Go to the documentation of this file.
1 #ifndef TAG_PARSER_MATROSKACHAPTER_H
2 #define TAG_PARSER_MATROSKACHAPTER_H
3 
4 #include "../abstractchapter.h"
5 
6 #include <memory>
7 
8 namespace TagParser {
9 
10 class EbmlElement;
11 
13 public:
14  MatroskaChapter(EbmlElement *chapterAtomElement);
15  ~MatroskaChapter() override;
16 
17  MatroskaChapter *nestedChapter(std::size_t index) override;
18  const MatroskaChapter *nestedChapter(std::size_t index) const override;
19  std::size_t nestedChapterCount() const override;
20  void clear() override;
21 
22 protected:
23  void internalParse(Diagnostics &diag, AbortableProgressFeedback &progress) override;
24 
25 private:
26  EbmlElement *m_chapterAtomElement;
27  std::vector<std::unique_ptr<MatroskaChapter>> m_nestedChapters;
28 };
29 
31 {
32  return m_nestedChapters[index].get();
33 }
34 
35 inline const MatroskaChapter *MatroskaChapter::nestedChapter(std::size_t index) const
36 {
37  return m_nestedChapters[index].get();
38 }
39 
40 inline std::size_t MatroskaChapter::nestedChapterCount() const
41 {
42  return m_nestedChapters.size();
43 }
44 
45 } // namespace TagParser
46 
47 #endif // TAG_PARSER_MATROSKACHAPTER_H
The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks.
The AbstractChapter class parses chapter information.
The Diagnostics class is a container for DiagMessage.
Definition: diagnostics.h:156
The EbmlElement class helps to parse EBML files such as Matroska files.
Definition: ebmlelement.h:32
The MatroskaChapter class provides an implementation of AbstractAttachment for Matroska files.
std::size_t nestedChapterCount() const override
Returns the number of nested chapters.
MatroskaChapter * nestedChapter(std::size_t index) override
Returns the nested chapter with the specified index.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Contains all classes and functions of the TagInfo library.
Definition: aaccodebook.h:10