...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::signals2::connection — Query/disconnect a signal-slot connection.
// In header: <boost/signals2/connection.hpp> class connection { public: // construct/copy/destruct connection(); connection(const connection&); connection(connection&&); connection& operator=(const connection&); connection& operator=(connection&&); // connection management void disconnect() const; bool connected() const; // blocking bool blocked() const; // modifiers void swap(connection&); // comparisons bool operator==(const connection&) const; bool operator!=(const connection&) const; bool operator<(const connection&) const; }; // specialized algorithms void swap(connection&, connection&);
The signals2::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.
The methods of the connection
class are thread-safe with the exception
of swap and the assignment operator. A connection
object
should not be accessed concurrently when either of these operations is in progress.
However, it is always safe to access a different connection
object
in another thread, even if the two connection
objects are copies
of each other which refer to the same underlying connection.
connection
public
construct/copy/destructconnection();
Effects: |
Sets the currently represented connection to the NULL connection. |
Postconditions: |
|
Throws: |
Will not throw. |
connection(const connection& other);
Effects: |
|
Throws: |
Will not throw. |
connection(connection&& other);
Move constructor.
Effects: |
|
Throws: |
Will not throw. |
connection& operator=(const connection& rhs);
Effects: |
|
Throws: |
Will not throw. |
connection& operator=(connection&& rhs);
Move assignment.
Effects: |
|
Throws: |
Will not throw. |
connection
blockingbool blocked() const;
Queries if the connection is blocked. A connection may be blocked by creating a
boost::signals2::shared_connection_block
object.
Returns: |
|
Throws: |
Will not throw. |
connection
modifiersvoid swap(connection& other);
Effects: |
Swaps the connections referenced in
|
Throws: |
Will not throw. |
connection
comparisonsbool operator==(const connection& other) const;
Returns: |
|
Throws: |
Will not throw. |
bool operator!=(const connection& other) const;
Returns: |
|
Throws: |
Will not throw. |
bool operator<(const connection& other) const;
Returns: |
|
Throws: |
Will not throw. |
connection
specialized algorithmsvoid swap(connection& x, connection& y);
Effects: |
|
Throws: |
Will not throw. |