inline connection connect(SIGNAL& s, ARG1&& arg1, ARG2&& arg2, ARG3&& arg3, ARG4&& arg4, ARG5&& arg5, ARG6&& arg6) { auto conn = s.connect(std::forward<ARG1>(arg1), std::forward<ARG2>(arg2), std::forward<ARG3>(arg3), std::forward<ARG4>(arg4), std::forward<ARG5>(arg5), std::forward<ARG6>(arg6)); add(conn); return conn; }
inline connection connect(SIGNAL& s, ARG1&& arg1) { auto conn = s.connect(std::forward<ARG1>(arg1)); add(conn); return conn; }
inline connection connect(SIGNAL& s, ARG1&& arg1, ARG2&& arg2, ARG3&& arg3) { auto conn = s.connect(std::forward<ARG1>(arg1), std::forward<ARG2>(arg2), std::forward<ARG3>(arg3)); add(conn); return conn; }
inline connection connect(SIGNAL& s, ARGS&&... args) { auto conn = s.connect(std::forward<ARGS>(args)...); add(conn); return conn; }