36 #ifndef DOXYGEN_SHOULD_SKIP_THIS 40 bool BasicSignaler0::hasListener() {
return (!(_connectors.empty())); }
43 void BasicSignaler0::detach(Listener* target) {
44 auto it = std::find_if(
45 _connectors.begin(), _connectors.end(), __find_target(target));
47 while (it != _connectors.end()) {
49 target->detachSignal__(
this);
51 it = _connectors.erase(it);
52 it = std::find_if(it, _connectors.end(), __find_target(target));
57 void BasicSignaler0::_detachFromTarget(Listener* target) {
58 auto it = std::find_if(
59 _connectors.begin(), _connectors.end(), __find_target(target));
61 while (it != _connectors.end()) {
64 it = _connectors.erase(it);
65 it = std::find_if(it, _connectors.end(), __find_target(target));
70 void BasicSignaler0::_duplicateTarget(
const Listener* oldtarget,
71 Listener* newtarget) {
72 auto it = std::find_if(
73 _connectors.begin(), _connectors.end(), __find_target(oldtarget));
75 while (it != _connectors.end()) {
76 _connectors.push_back((*it)->duplicate(newtarget));
79 it = std::find_if(it, _connectors.end(), __find_target(oldtarget));
84 std::function< bool(IConnector0* el) >
86 return [=](IConnector0* el) ->
bool {
return el->target() == l; };
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Every class who would catch signal from signaler should derive from Listener.