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 <vector>
7 
8 #include <boost/shared_ptr.hpp>
9 
10 #include <QMetaType>
11 
12 namespace CSMWorld
13 {
14  class IdTableBase;
15 }
16 
17 namespace CSMFilter
18 {
23  class Node
24  {
25  // not implemented
26  Node (const Node&);
27  Node& operator= (const Node&);
28 
29  public:
30 
31  Node();
32 
33  virtual ~Node();
34 
35  virtual bool test (const CSMWorld::IdTableBase& table, int row,
36  const std::map<int, int>& columns) const = 0;
39 
40  virtual std::vector<int> getReferencedColumns() const = 0;
43 
44  virtual std::string toString (bool numericColumns) const = 0;
48  };
49 }
50 
51 Q_DECLARE_METATYPE (boost::shared_ptr<CSMFilter::Node>)
52 
53 #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:23
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