diff --git a/aegisub/src/ass_attachment.h b/aegisub/src/ass_attachment.h index 2f428b4b128de25784c7e841c83846bddd6f056c..093af65bd9a121e9e0224c48301a5d078daa320d 100644 --- a/aegisub/src/ass_attachment.h +++ b/aegisub/src/ass_attachment.h @@ -22,7 +22,7 @@ #include <vector> /// @class AssAttachment -class AssAttachment : public AssEntry { +class AssAttachment : public AssEntry, public AssEntryListHook { /// ASS uuencoded entry data, including header. boost::flyweight<std::string> entry_data; diff --git a/aegisub/src/ass_dialogue.h b/aegisub/src/ass_dialogue.h index 9d661ba84ad884835d3e49db6ccc8e5a716284a2..2c590c71afedc4004aa10ed68ad3e6d64f70bd7c 100644 --- a/aegisub/src/ass_dialogue.h +++ b/aegisub/src/ass_dialogue.h @@ -150,7 +150,7 @@ struct AssDialogueBase { boost::flyweight<std::string> Text; }; -class AssDialogue : public AssEntry, public AssDialogueBase { +class AssDialogue : public AssEntry, public AssDialogueBase, public AssEntryListHook { std::string GetData(bool ssa) const; /// @brief Parse raw ASS data into everything else diff --git a/aegisub/src/ass_entry.h b/aegisub/src/ass_entry.h index cfeb2dafb2d2cd437097727e38900f44275b01bc..5ab2df01212880c5f187a9bdf61f1784b32922bf 100644 --- a/aegisub/src/ass_entry.h +++ b/aegisub/src/ass_entry.h @@ -46,7 +46,9 @@ enum class AssEntryGroup { GROUP_MAX }; -class AssEntry : public boost::intrusive::make_list_base_hook<boost::intrusive::link_mode<boost::intrusive::auto_unlink>>::type { +using AssEntryListHook = boost::intrusive::make_list_base_hook<boost::intrusive::link_mode<boost::intrusive::auto_unlink>>::type; + +class AssEntry { public: virtual ~AssEntry() { } diff --git a/aegisub/src/ass_file.h b/aegisub/src/ass_file.h index b040fcbc437195835b2db618ab7820420353e163..d7a748e25c60acc2e3cd136fa2e23f8d13367b1a 100644 --- a/aegisub/src/ass_file.h +++ b/aegisub/src/ass_file.h @@ -48,7 +48,7 @@ class AssStyle; class wxString; template<typename T> -using EntryList = typename boost::intrusive::make_list<T, boost::intrusive::constant_time_size<false>, boost::intrusive::base_hook<AssEntry>>::type; +using EntryList = typename boost::intrusive::make_list<T, boost::intrusive::constant_time_size<false>, boost::intrusive::base_hook<AssEntryListHook>>::type; struct AssFileCommit { wxString const& message; diff --git a/aegisub/src/ass_style.h b/aegisub/src/ass_style.h index 935329ebeaf0f22773b3ac4a6691e2583b8e002c..14dac5d000fb648c70d85bb111f142f93ecb5a52 100644 --- a/aegisub/src/ass_style.h +++ b/aegisub/src/ass_style.h @@ -39,7 +39,7 @@ #include <array> #include <wx/arrstr.h> -class AssStyle : public AssEntry { +class AssStyle : public AssEntry, public AssEntryListHook { std::string data; public: