61 static_assert(std::is_base_of_v<SummaryData, DataT>,
62 "DataT must derive from SummaryData");
64 "DataT must have a static summaryName() method");
65 static_assert(std::is_base_of_v<EntitySummary, SummaryT>,
66 "SummaryT must derive from EntitySummary");
68 std::unique_ptr<DataT> Data;
84 std::unique_ptr<SummaryData>
getData() &&
override {
return std::move(
Data); }
87 void addSummary(EntityId Id, std::unique_ptr<EntitySummary> Summary)
final {
89 static_cast<SummaryT *
>(Summary.release())));