clean MessageFactory

This commit is contained in:
2025-02-06 22:32:59 +01:00
parent 097dab01fd
commit e13c73fe59

View File

@@ -19,8 +19,11 @@ struct ArrayFiller {};
template <typename TBase, typename... TMessages>
struct ArrayFiller<TBase, std::tuple<TMessages...>> {
static void ArrayAppend(details::ArrayType<TBase>& array) {
static ArrayType<TBase> ArrayCreate() {
ArrayType<TBase> array;
array.reserve(sizeof...(TMessages));
ArrayFiller<TBase, TMessages...>::ArrayAppend(array);
return array;
}
};
@@ -46,9 +49,7 @@ class MessageFactory {
public:
using IdType = typename TBase::MsgIdType;
MessageFactory() {
details::ArrayFiller<TBase, TTMessages>::ArrayAppend(m_Factory);
}
MessageFactory() : m_Factory(details::ArrayFiller<TBase, TTMessages>::ArrayCreate()) {}
std::unique_ptr<TBase> CreateMessage(IdType id) {
if (id >= m_Factory.size())