omni::event::detach
NAME

omni::event::detach

A member function of omni::event

#include <omni/delegate/0.hpp>
void omni::event::detach(const omni::delegate< Ret >& d)


OVERLOADS

template < class InputIterator > void omni::event::detach(InputIterator begin, InputIterator end)
void omni::event::detach(const event< Ret >& e)
template < ret_t (*fnptr)() > void omni::event::detach()
template < class T, Ret (T::*fnptr)() > void omni::event::detach(T& obj)
template < class T, Ret (T::*fnptr)() > void omni::event::detach(const T& obj)
template < class T, Ret (T::*fnptr)() > void omni::event::detach(const T *const obj)

SYNOPSIS

Detach the last attached delegate that matches.

top

DESCRIPTION

Removes the last attached delegate that matches the signature, method and object of the delegate being passed in, subsequently calling that delegates destructor. If there is no match, nothing happens and no errors are thrown.

top

PARAMETERS

d - The member delegate to search for and detach

top


CONSIDERATIONS

If the OMNI_SAFE_EVENT defines are not enabled, it is undefined if this event is invoked and edited at the same time; i.e. a race condition can occur if you detach to an event from one thread while invoking from another.

top


NOTES

See the notes on omni::delegate::~delegate about the implications regarding destruction of the delegate class while a bound function is still running.

top