NRE_AbstractEventEmitter.hpp
Go to the documentation of this file.
1 
10  #pragma once
11 
12  #include <Header/NRE_Utility.hpp>
13 
18  namespace NRE {
23  namespace Event {
24 
29  class AbstractEventEmitter : public Utility::Observable {
30  public : // Fields
32  typedef std::size_t Category;
33 
34  private : // Fields
35  bool consumed;
37  public : // Methods
38  //## Constructor ##//
42  AbstractEventEmitter() = default;
43 
44  //## Copy Constructor ##//
49  AbstractEventEmitter(AbstractEventEmitter const& e) = default;
50 
51  //## Move Constructor ##//
57 
58  //## Deconstructor ##//
62  virtual ~AbstractEventEmitter() = default;
63 
64  //## Getter ##//
68  bool isConsumed() const;
69 
70  //## Setter ##//
75  void setConsumed(bool state);
76 
77  //## Assignment Operator ##//
90 
91  public : // Static
92  static Category counter;
93  };
94  }
95  }
96 
97  #include "NRE_AbstractEventEmitter.tpp"
AbstractEventEmitter & operator=(AbstractEventEmitter const &e)=default
virtual ~AbstractEventEmitter()=default
Event&#39;s API.
The NearlyRealEngine&#39;s global namespace.
std::size_t Category
Definition: NRE_AbstractEventEmitter.hpp:32
static Category counter
Definition: NRE_AbstractEventEmitter.hpp:92
Abstract class for specialized event emission.
Definition: NRE_AbstractEventEmitter.hpp:29