Query/disconnect a signal-slot connection.

The `connection` class represents a connection between a Signal and a Slot. It is a lightweight object that has the ability to query whether the signal and slot are currently connected, and to disconnect the signal and slot. It is always safe to query or disconnect a connection.

Sets the currently represented connection to the NULL connection.

`!this->`connected`()`.

Will not throw.

const `connection`&

`this` references the connection referenced by `other`.

Will not throw.

const `connection`&

`this` references the connection referenced by `other`.

Will not throw.

void

If `this->`connected`()`, disconnects the signal and slot referenced by this; otherwise, this operation is a no-op.

`!this->`connected`()`.

bool

`true` if this references a non-NULL connection that is still active (connected), and `false` otherwise.

Will not throw.

void `const `connection`&`

Swaps the connections referenced in `this` and `other`.

Will not throw.

bool `const `connection`&`

`true` if `this` and `other` reference the same connection or both reference the NULL connection, and `false` otherwise.

Will not throw.

bool `const `connection`&`

`true` if the connection referenced by `this` precedes the connection referenced by `other` based on some unspecified ordering, and `false` otherwise.

Will not throw.

void ``connection`&` ``connection`&`

`x.swap(y)`

Will not throw.

`noncopyable` Exposition only
Limits a signal-slot connection lifetime to a particular scope.
const `connection`&

`this` references the connection referenced by `other`.

Will not throw.

If `this->`connected`()`, disconnects the signal-slot connection.

void

If `this->`connected`()`, disconnects the signal and slot referenced by this; otherwise, this operation is a no-op.

`!this->`connected`()`.

bool

`true` if this references a non-NULL connection that is still active (connected), and `false` otherwise.

Will not throw.