Guest User

Unfertige Liste

a guest
Feb 9th, 2016
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. struct EventListItem
  2.     {
  3.         EventListItem  *prev;
  4.         EventListItem  *next;
  5.         abstract_event *event;
  6.  
  7.         EventListItem() = default;
  8.  
  9.         EventListItem(abstract_event *event) : event(event) { }
  10.     };
  11.  
  12.     struct EventList
  13.     {
  14.         EventListItem *terminator;
  15.  
  16.         EventList() {
  17.             terminator = new EventListItem();
  18.             terminator->prev = terminator;
  19.             terminator->next = terminator;
  20.         }
  21.  
  22.         ~EventList() {
  23.             while (!this->empty()){
  24.                 this->pop_front();
  25.             }
  26.             delete terminator;
  27.         }
  28.  
  29.         void push_back(EventListItem *item) {
  30.             item->next             = this->terminator->prev;
  31.             this->terminator->prev = item;
  32.         }
  33.  
  34.         EventListItem *front() {
  35.             return terminator->next;
  36.         }
  37.  
  38.         void pop_front() {
  39.             if (!empty()) {
  40.                 EventListItem *tmp = this->terminator->next;
  41.                 this->terminator->next = tmp->next;
  42.                 delete tmp;
  43.             }
  44.         }
  45.  
  46.         inline bool empty() {
  47.             return this->terminator->prev == this->terminator->next;
  48.         }
  49.     };
Advertisement
Add Comment
Please, Sign In to add comment