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