OoOJoin  0.0.1
The next generation of out-of-order join operator
WMTable.h
1 //
2 // Created by tony on 31/12/22.
3 //
4 
5 #ifndef INTELLISTREAM_INCLUDE_WATERMARKER_WMTABLE_H_
6 #define INTELLISTREAM_INCLUDE_WATERMARKER_WMTABLE_H_
8 #include <map>
9 #include <string>
10 namespace OoOJoin {
19 class WMTable {
20  protected:
21  std::map<std::string, AbstractWaterMarkerPtr> wmMap;
22  public:
23  WMTable();
24  ~WMTable() {}
30  void registerNewWM(AbstractWaterMarkerPtr onew, std::string tag) {
31  wmMap[tag] = onew;
32  }
38  AbstractWaterMarkerPtr findWM(std::string name) {
39  if (wmMap.count(name)) {
40  return wmMap[name];
41  }
42  return nullptr;
43  }
44 };
45 
51 typedef std::shared_ptr<class WMTable> WMTablePtr;
57 #define newWMTable std::make_shared<OoOJoin::WMTable>
58 }
59 #endif //INTELLISTREAM_INCLUDE_WATERMARKER_WMTABLE_H_
The table to indexing all possible watermark generators.
Definition: WMTable.h:19
void registerNewWM(AbstractWaterMarkerPtr onew, std::string tag)
To register a new watermarker.
Definition: WMTable.h:30
AbstractWaterMarkerPtr findWM(std::string name)
find an operator in the table according to its name
Definition: WMTable.h:38
std::shared_ptr< class WMTable > WMTablePtr
The class to describe a shared pointer to WMTable.
Definition: WMTable.h:51
Definition: OperatorTable.cpp:7
std::shared_ptr< class AbstractWaterMarker > AbstractWaterMarkerPtr
The class to describe a shared pointer to AbstractWaterMarker.
Definition: AbstractWaterMarker.h:111