OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
node.hpp
Go to the documentation of this file.
1 #ifndef CSM_FILTER_NODE_H
2 #define CSM_FILTER_NODE_H
3 
4 #include <string>
5 #include <map>
6 #include <memory>
7 #include <vector>
8 
9 #include <QMetaType>
10 
11 namespace CSMWorld
12 {
13  class IdTableBase;
14 }
15 
16 namespace CSMFilter
17 {
22  class Node
23  {
24  // not implemented
25  Node (const Node&);
26  Node& operator= (const Node&);
27 
28  public:
29 
30  Node();
31 
32  virtual ~Node();
33 
34  virtual bool test (const CSMWorld::IdTableBase& table, int row,
35  const std::map<int, int>& columns) const = 0;
38 
39  virtual std::vector<int> getReferencedColumns() const = 0;
42 
43  virtual std::string toString (bool numericColumns) const = 0;
47  };
48 }
49 
50 Q_DECLARE_METATYPE (std::shared_ptr<CSMFilter::Node>)
51 
52 #endif
Node & operator=(const Node &)
virtual ~Node()
Definition: node.cpp:5
Node()
Definition: node.cpp:3
Root class for the filter node hierarchy.
Definition: node.hpp:22
virtual std::vector< int > getReferencedColumns() const =0
Definition: idtablebase.hpp:12
virtual bool test(const CSMWorld::IdTableBase &table, int row, const std::map< int, int > &columns) const =0
virtual std::string toString(bool numericColumns) const =0