24 template <
typename Name,
typename Object,
typename... Args>
26 auto get (Object
const& t, Args&&... args) -> decltype(interface <Name> (t).get(std::forward <Args> (args)...))
28 return interface <Name> (t).
get(std::forward <Args> (args)...);
34 template <
typename Name,
typename Object,
typename... Args>
36 auto set (Object& t, Args&&... args) -> decltype(interface <Name> (t).
set(std::forward <Args> (args)...))
38 return interface <Name> (t).
set(std::forward <Args> (args)...);
44 template <
typename Name,
typename Object,
typename... Args>
46 auto check (Object
const& t, Args&&... args) -> decltype(interface <Name> (t).
check(std::forward <Args> (args)...))
48 return interface <Name> (t).
check(std::forward <Args> (args)...);
54 template <
typename Name,
typename Object,
typename... Args>
56 auto clear (Object& t, Args&&... args) -> decltype(interface <Name> (t).
clear(std::forward <Args> (args)...))
58 return interface <Name> (t).
clear(std::forward <Args> (args)...);