clean MessageFactory
This commit is contained in:
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user