1#ifndef TAG_PARSER_ABSTRACTCHAPTER_H
2#define TAG_PARSER_ABSTRACTCHAPTER_H
6#include <c++utilities/chrono/timespan.h>
22 std::uint64_t
id()
const;
23 const std::vector<LocaleAwareString> &
names()
const;
25 CppUtilities::TimeSpan
endTime()
const;
26 const std::vector<std::uint64_t> &
tracks()
const;
29 std::string
label()
const;
46 std::unique_ptr<AbstractChapterPrivate>
m_p;
The AbortableProgressFeedback class provides feedback about an ongoing operation via callbacks.
std::unique_ptr< AbstractChapterPrivate > m_p
CppUtilities::TimeSpan endTime() const
Returns the end time if known; otherwise returns a negative time span.
void parseNested(Diagnostics &diag, AbortableProgressFeedback &progress)
Parses the chapter and nested chapters recursively.
virtual std::size_t nestedChapterCount() const
Returns the number of nested chapters.
const std::vector< LocaleAwareString > & names() const
Returns the chapter name.
std::vector< std::uint64_t > m_tracks
virtual void internalParse(Diagnostics &diag, AbortableProgressFeedback &progress)=0
Internally called to parse the chapter.
CppUtilities::TimeSpan m_endTime
CppUtilities::TimeSpan m_startTime
void parse(Diagnostics &diag, AbortableProgressFeedback &progress)
Parses the chapter.
virtual void clear()
Resets the object to its initial state.
std::string label() const
Returns a label for the chapter.
CppUtilities::TimeSpan startTime() const
Returns the start time if known; otherwise returns a negative time span.
virtual AbstractChapter * nestedChapter(std::size_t index)
Returns the nested chapter with the specified index.
std::uint64_t id() const
Returns the chapter ID if known; otherwise returns zero.
AbstractChapter()
Constructs a new chapter.
bool isEnabled() const
Returns whether the chapter is flagged as enabled.
const std::vector< std::uint64_t > & tracks() const
Returns a list of tracks on which the chapter applies.
bool isHidden() const
Returns whether the chapter is flagged as hidden.
std::vector< LocaleAwareString > m_names
The Diagnostics class is a container for DiagMessage.
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
Contains all classes and functions of the TagInfo library.
The AbstractChapterPrivate struct contains private fields of the AbstractChapter class.