1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-26 06:27:45 +00:00
sapphire/src/lobby/Forwards.h
2020-03-01 11:58:26 +11:00

34 lines
665 B
C++

#ifndef _FORWARDS_H
#define _FORWARDS_H
#include <memory>
#include <vector>
#define TYPE_FORWARD( x ) \
class x; \
typedef std::shared_ptr< x > x ## Ptr; \
template< typename...Args > \
x ## Ptr make_ ## x( Args &&...args ) { \
return std::make_shared< x >( std::forward< Args >( args ) ... ); }\
typedef std::vector< x > x ## PtrList;
namespace Sapphire::Lobby
{
TYPE_FORWARD( LobbySession );
TYPE_FORWARD( GameConnection );
}
namespace Sapphire::Network
{
TYPE_FORWARD( Hive );
TYPE_FORWARD( Acceptor );
TYPE_FORWARD( Connection );
}
namespace Sapphire::Network::Packets
{
TYPE_FORWARD( GamePacket );
TYPE_FORWARD( FFXIVPacketBase );
}
#endif