summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/netlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/netlist.h')
-rw-r--r--src/devices/machine/netlist.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/devices/machine/netlist.h b/src/devices/machine/netlist.h
index 52d7602248a..85116ec8f34 100644
--- a/src/devices/machine/netlist.h
+++ b/src/devices/machine/netlist.h
@@ -337,12 +337,10 @@ public:
// construction/destruction
netlist_mame_analog_output_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
- template <class FC>
- void set_params(const char *in_name, void (FC::*callback)(const double, const attotime &),
- const char *name, const char *tag)
+ template <typename... T> void set_params(const char *in_name, T &&... args)
{
m_in = in_name;
- m_delegate = std::move(output_delegate(callback, name, tag, (FC *)nullptr));
+ m_delegate.set(std::forward<T>(args)...);
}
@@ -368,14 +366,10 @@ public:
// construction/destruction
netlist_mame_logic_output_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
- void set_params(const char *in_name, output_delegate &&adelegate);
- template <class FunctionClass> void set_params(const char *in_name, void (FunctionClass::*callback)(const int, const attotime &), const char *name)
+ template <typename... T> void set_params(const char *in_name, T &&... args)
{
- set_params(in_name, output_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)));
- }
- template <class FunctionClass> void set_params(const char *in_name, const char *devname, void (FunctionClass::*callback)(const int, const attotime &), const char *name)
- {
- set_params(in_name, output_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr)));
+ m_in = in_name;
+ m_delegate.set(std::forward<T>(args)...);
}
protected: