summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/driver.h')
-rw-r--r--src/emu/driver.h9
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 */