22 #ifndef __M2ETIS_PUBSUB_FILTER_FILTEVISITORS_FILTERVISITOR_H__ 
   23 #define __M2ETIS_PUBSUB_FILTER_FILTEVISITORS_FILTERVISITOR_H__ 
   29         template <
typename EventType> 
class FilterExp;
 
   30         template <
typename EventType> 
class AndExp;
 
   31         template <
typename EventType> 
class OrExp;
 
   32         template <
typename EventType> 
class Predicate;
 
   33         template <
typename EventType, 
typename AttributeType> 
class GreaterThanAttributeFilter;
 
   34         template <
typename EventType, 
typename AttributeType> 
class LessThanAttributeFilter;
 
   35         template <
typename EventType, 
typename AttributeType> 
class EqualsAttributeFilter;
 
   36         template <
typename EventType, 
typename AttributeType> 
class NotEqualsAttributeFilter;
 
   37         template <
typename EventType, 
typename AttributeType> 
class AttributeFilter;
 
   39         template <
typename EventType>
 
   50                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType with const GreaterThanAttributeFilter<EventType, std::string> * called.");
 
   54                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType with const GreaterThanAttributeFilter<EventType, std::int> * called.");
 
   58                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType called.");
 
   62                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType called.");
 
   66                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType called.");
 
   70                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType called.");
 
   74                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType called.");
 
   78                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType called.");
 
   82                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType with const AttributeFilter<EventType, std::string> * called.");
 
   86                         M2ETIS_THROW_API(
"FilterVisitor", 
"unimplemented method getAttributeType with const AttributeFilter<EventType, int> * called.");
 
virtual void getAttributeType(const GreaterThanAttributeFilter< EventType, std::string > *)
 
virtual void getAttributeType(const AttributeFilter< EventType, std::string > *)
 
virtual void getAttributeType(const EqualsAttributeFilter< EventType, std::string > *)
 
virtual void getAttributeType(const LessThanAttributeFilter< EventType, std::string > *)
 
virtual void getAttributeType(const AttributeFilter< EventType, int > *)
 
virtual void getAttributeType(const NotEqualsAttributeFilter< EventType, int > *)
 
virtual void getAttributeType(const EqualsAttributeFilter< EventType, int > *)
 
virtual void Visit(const FilterExp< EventType > *)=0
 
virtual void getAttributeType(const NotEqualsAttributeFilter< EventType, std::string > *)
 
#define M2ETIS_THROW_API(module, message)
throws on wrong API usage 
 
virtual void getAttributeType(const LessThanAttributeFilter< EventType, int > *)
 
virtual void getAttributeType(const GreaterThanAttributeFilter< EventType, int > *)