From 3d35ba894c37e78fcbd0a7fcf8dee290e7d8353c Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Fri, 7 Mar 2014 16:59:52 -0800 Subject: [PATCH] Move the intrusive list hooks to the concrete entry types --- aegisub/src/ass_attachment.h | 2 +- aegisub/src/ass_dialogue.h | 2 +- aegisub/src/ass_entry.h | 4 +++- aegisub/src/ass_file.h | 2 +- aegisub/src/ass_style.h | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/aegisub/src/ass_attachment.h b/aegisub/src/ass_attachment.h index 2f428b4b1..093af65bd 100644 --- a/aegisub/src/ass_attachment.h +++ b/aegisub/src/ass_attachment.h @@ -22,7 +22,7 @@ #include /// @class AssAttachment -class AssAttachment : public AssEntry { +class AssAttachment : public AssEntry, public AssEntryListHook { /// ASS uuencoded entry data, including header. boost::flyweight entry_data; diff --git a/aegisub/src/ass_dialogue.h b/aegisub/src/ass_dialogue.h index 9d661ba84..2c590c71a 100644 --- a/aegisub/src/ass_dialogue.h +++ b/aegisub/src/ass_dialogue.h @@ -150,7 +150,7 @@ struct AssDialogueBase { boost::flyweight 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 cfeb2dafb..5ab2df012 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>::type { +using AssEntryListHook = boost::intrusive::make_list_base_hook>::type; + +class AssEntry { public: virtual ~AssEntry() { } diff --git a/aegisub/src/ass_file.h b/aegisub/src/ass_file.h index b040fcbc4..d7a748e25 100644 --- a/aegisub/src/ass_file.h +++ b/aegisub/src/ass_file.h @@ -48,7 +48,7 @@ class AssStyle; class wxString; template -using EntryList = typename boost::intrusive::make_list, boost::intrusive::base_hook>::type; +using EntryList = typename boost::intrusive::make_list, boost::intrusive::base_hook>::type; struct AssFileCommit { wxString const& message; diff --git a/aegisub/src/ass_style.h b/aegisub/src/ass_style.h index 935329ebe..14dac5d00 100644 --- a/aegisub/src/ass_style.h +++ b/aegisub/src/ass_style.h @@ -39,7 +39,7 @@ #include #include -class AssStyle : public AssEntry { +class AssStyle : public AssEntry, public AssEntryListHook { std::string data; public: