22 #ifndef NDN_UTIL_SIGNAL_CONNECTION_HPP    23 #define NDN_UTIL_SIGNAL_CONNECTION_HPP    56     return !m_disconnect.expired();
    63   Connection(weak_ptr<DisconnectFunction> disconnect) noexcept;
    65   template<
typename Owner, 
typename ...TArgs>
    80     return (!lhs.isConnected() && !rhs.isConnected()) ||
    81         (!lhs.m_disconnect.owner_before(rhs.m_disconnect) &&
    82          !rhs.m_disconnect.owner_before(lhs.m_disconnect));
    99   weak_ptr<DisconnectFunction> m_disconnect;
   106 #endif // NDN_UTIL_SIGNAL_CONNECTION_HPP 
constexpr Connection() noexcept=default
friend bool operator!=(const Connection &lhs, const Connection &rhs) noexcept
represents a connection to a signal 
provides a lightweight signal / event system 
void disconnect()
disconnects from the signal 
Common includes and macros used throughout the library. 
friend bool operator==(const Connection &lhs, const Connection &rhs) noexcept
compare for equality 
std::function< void()> DisconnectFunction
bool isConnected() const noexcept
check if connected to the signal