OMNeT++ Simulation Library  6.0.3
cfutureeventset.h
1 //==========================================================================
2 // CFUTUREEVENTSET.H - part of
3 // OMNeT++/OMNEST
4 // Discrete System Simulation in C++
5 //
6 //==========================================================================
7 
8 /*--------------------------------------------------------------*
9  Copyright (C) 1992-2017 Andras Varga
10  Copyright (C) 2006-2017 OpenSim Ltd.
11 
12  This file is distributed WITHOUT ANY WARRANTY. See the file
13  `license' for details on this and other legal matters.
14 *--------------------------------------------------------------*/
15 
16 #ifndef __OMNETPP_CFUTUREEVENTSET_H
17 #define __OMNETPP_CFUTUREEVENTSET_H
18 
19 #include "cownedobject.h"
20 
21 namespace omnetpp {
22 
23 class cEvent;
24 
32 class SIM_API cFutureEventSet : public cOwnedObject
33 {
34  public:
40  cFutureEventSet(const char *name=nullptr) : cOwnedObject(name, false) {}
41 
45  virtual ~cFutureEventSet() {}
46 
51  cFutureEventSet& operator=(const cFutureEventSet& other);
53 
60  virtual std::string str() const override;
62 
65 
69  virtual void insert(cEvent *event) = 0;
70 
75  virtual cEvent *peekFirst() const = 0;
76 
81  virtual cEvent *removeFirst() = 0;
82 
86  virtual void putBackFirst(cEvent *event) = 0;
87 
92  virtual cEvent *remove(cEvent *event) = 0;
93 
97  virtual bool isEmpty() const = 0;
98 
102  virtual void clear() = 0;
104 
110  virtual int getLength() const = 0;
111 
123  virtual cEvent *get(int k) = 0;
124 
129  virtual void sort() = 0;
131 };
132 
133 } // namespace omnetpp
134 
135 #endif
136 
omnetpp::cEvent
Represents an event in the discrete event simulator.
Definition: cevent.h:46
omnetpp::cFutureEventSet
Abstract base class for the future event set (FES), a central data structure for discrete event simul...
Definition: cfutureeventset.h:32
omnetpp::cFutureEventSet::~cFutureEventSet
virtual ~cFutureEventSet()
Definition: cfutureeventset.h:45
omnetpp::cFutureEventSet::cFutureEventSet
cFutureEventSet(const char *name=nullptr)
Definition: cfutureeventset.h:40
omnetpp::cOwnedObject
A cObject that keeps track of its owner. It serves as base class for many classes in the OMNeT++ libr...
Definition: cownedobject.h:105