Connection(const Connection&) = delete;
Connection& operator=(const Connection&) = delete;
Connection(Connection&&) = default;
Connection& operator=(Connection&&) = default;
Connection(const Connection&) = delete;
Connection& operator=(const Connection&) = delete;
Connection(Connection&&) = default;
Connection& operator=(Connection&&) = default;
template <typename C, typename... T2s>
Connection add(C& c, void (C::*m)(T2s...))
{
template <typename C, typename... T2s>
Connection add(C& c, void (C::*m)(T2s...))
{