diff options
Diffstat (limited to 'src/emu/driver.h')
-rw-r--r-- | src/emu/driver.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/emu/driver.h b/src/emu/driver.h index f130b74d6bd..f3366ba25e5 100644 --- a/src/emu/driver.h +++ b/src/emu/driver.h @@ -226,13 +226,16 @@ private: // this template function creates a stub which constructs a device -template<class _DriverClass> -device_t *driver_device_creator(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) +template<class DriverClass> +std::unique_ptr<device_t> driver_device_creator_impl(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) { assert(owner == nullptr); assert(clock == 0); - return global_alloc_clear<_DriverClass>(mconfig, &driver_device_creator<_DriverClass>, tag); + return make_unique_clear<DriverClass>(mconfig, &driver_device_creator_impl<DriverClass>, tag); } +template <class DriverClass> +const device_type driver_device_creator = &driver_device_creator_impl<DriverClass>; + #endif /* MAME_EMU_DRIVER_H */ |