#include #include #include namespace blitz { namespace protocol { namespace PacketFactory { using PacketCreator = std::function()>; static const std::array, static_cast(PacketType::PACKET_COUNT)> Packets = { std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), std::make_unique(), }; const std::unique_ptr& CreateReadOnlyPacket(PacketType a_Type) { return Packets[static_cast(a_Type)]; } } // namespace PacketFactory } // namespace protocol } // namespace blitz