BWAPI
Classes | Defines
SPAR/AIModule/BWTA/vendors/CGAL/CGAL/Kinetic/Multi_listener.h File Reference
#include <CGAL/basic.h>
Include dependency graph for Multi_listener.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Multi_listener_base< Interface >
 This is a variant of Listener which supports more than one object receiving notifications. More...

Defines

#define CGAL_KINETIC_MULTILISTENER1(A)
#define CGAL_KINETIC_MULTILISTENERNT1(A)
#define CGAL_KINETIC_MULTILISTENER2(A, B)
#define CGAL_KINETIC_MULTILISTENERNT2(A, B)
#define CGAL_KINETIC_MULTINOTIFY(field)
#define CGAL_KINETIC_MULTILISTENER_DESTRUCTOR   CGAL_assertion(listeners_.empty());

Define Documentation

Value:
private:                         \
  struct Listener_core{                                                 \
    typedef typename This::Handle Notifier_handle;                      \
    typedef enum {A} Notification_type;                                 \
  };                                                                    \
public:                                                                 \
 typedef CGAL::Kinetic::Multi_listener_base<Listener_core> Listener;    \
 friend class CGAL::Kinetic::Multi_listener_base<Listener_core>;                       \
private:                                                                \
 void new_listener(Listener *sk) {                                      \
   listeners_.push_back(sk);                                            \
 }                                                                      \
 void delete_listener(Listener *kds) {                                  \
   for (unsigned int i=0; i< listeners_.size(); ++i){                   \
     if (listeners_[i] == kds) {                                        \
       std::swap(listeners_[i], listeners_.back());                     \
       listeners_.pop_back();                                           \
       return;                                                          \
     }                                                                  \
   }                                                                    \
 }                                                                      \
 std::vector<Listener*> listeners_;
#define CGAL_KINETIC_MULTILISTENER2 (   A,
 
)
Value:
private:                        \
  struct Listener_core{                                                 \
    typedef typename This::Handle Notifier_handle;                      \
    typedef enum {A,B} Notification_type;                               \
  };                                                                    \
public:                                                                 \
 typedef CGAL::Kinetic::Multi_listener_base<Listener_core> Listener;    \
 friend class CGAL::Kinetic::Multi_listener_base<Listener_core>;        \
private:                                                                \
 void new_listener(Listener *sk) {                                      \
   listeners_.push_back(sk);                                            \
 }                                                                      \
 void delete_listener(Listener *kds) {                                  \
   for (unsigned int i=0; i< listeners_.size(); ++i){                   \
     if (listeners_[i] == kds) {                                        \
       std::swap(listeners_[i], listeners_.back());                     \
       listeners_.pop_back();                                           \
       return;                                                          \
     }                                                                  \
   }                                                                    \
 }                                                                      \
 std::vector<Listener*> listeners_;
Value:
private:                       \
  struct Listener_core{                                                 \
    typedef This::Handle Notifier_handle;                               \
    typedef enum {A} Notification_type;                                 \
  };                                                                    \
public:                                                                 \
 typedef CGAL::Kinetic::Multi_listener_base<Listener_core> Listener;    \
 friend class CGAL::Kinetic::Multi_listener_base<Listener_core>;        \
private:                                                                \
 void new_listener(Listener *sk) {                                      \
   listeners_.push_back(sk);                                            \
 }                                                                      \
 void delete_listener(Listener *kds) {                                  \
   for (unsigned int i=0; i< listeners_.size(); ++i){                   \
     if (listeners_[i] == kds) {                                        \
       std::swap(listeners_[i], listeners_.back());                     \
       listeners_.pop_back();                                           \
       return;                                                          \
     }                                                                  \
   }                                                                    \
 }                                                                      \
 std::vector<Listener*> listeners_;
#define CGAL_KINETIC_MULTILISTENERNT2 (   A,
 
)
Value:
private:                     \
  struct Listener_core{                                                 \
    typedef This::Handle Notifier_handle;                               \
    typedef enum {A,B} Notification_type;                               \
  };                                                                    \
public:                                                                 \
 typedef CGAL::Kinetic::Multi_listener_base<Listener_core> Listener;    \
 friend class CGAL::Kinetic::Multi_listener_base<Listener_core>;        \
private:                                                                \
 void new_listener(Listener *sk) {                                      \
   listeners_.push_back(sk);                                            \
 }                                                                      \
 void delete_listener(Listener *kds) {                                  \
   for (unsigned int i=0; i< listeners_.size(); ++i){                   \
     if (listeners_[i] == kds) {                                        \
       std::swap(listeners_[i], listeners_.back());                     \
       listeners_.pop_back();                                           \
       return;                                                          \
     }                                                                  \
   }                                                                    \
 }                                                                      \
 std::vector<Listener*> listeners_;
#define CGAL_KINETIC_MULTINOTIFY (   field)
Value:
for(typename std::vector<Listener*>::iterator it= listeners_.begin(); it != listeners_.end(); ++it){ \
    (*it)->new_notification(Listener::field);                           \
  }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines