26 #ifndef DIGITALCURLING3_I_PLAYER_FACTORY_HPP 
   27 #define DIGITALCURLING3_I_PLAYER_FACTORY_HPP 
   54     virtual std::unique_ptr<IPlayer> 
CreatePlayer() 
const = 0;
 
   59     virtual std::unique_ptr<IPlayerFactory> 
Clone() 
const = 0;
 
   74 namespace digitalcurling3::polymorphic_json::detail {
 
   77 ToJsonRegistry<IPlayerFactory> & GetToJsonRegistry<IPlayerFactory>();
 
   80 FromJsonRegistry<IPlayerFactory> & GetFromJsonRegistry<IPlayerFactory>();
 
   92     digitalcurling3::polymorphic_json::detail::Serializer<digitalcurling3::IPlayerFactory> {};
 
   95 struct adl_serializer<std::unique_ptr<digitalcurling3::IPlayerFactory>> :
 
   96     digitalcurling3::polymorphic_json::detail::Serializer<std::unique_ptr<digitalcurling3::IPlayerFactory>> {};
 
  102 #endif // DIGITALCURLING3_I_PLAYER_FACTORY_HPP