22 #ifndef __M2ETIS_PUBSUB_FILTER_FILTEREXPRESSIONS_PREDICATE_H__
23 #define __M2ETIS_PUBSUB_FILTER_FILTEREXPRESSIONS_PREDICATE_H__
35 template<
typename EventType>
40 filter_visitor.
Visit(
this);
46 virtual bool match(
const EventType &)
const = 0;
51 template<
typename Archive>
52 void serialize(Archive & ar,
const unsigned int) {
53 ar & boost::serialization::base_object<FilterExp<EventType>>(*this);
virtual bool overlaps(const Predicate< EventType > *) const
virtual void Visit(const FilterExp< EventType > *)=0
virtual bool match(const EventType &) const =0
friend class boost::serialization::access
virtual void Accept(FilterVisitor< EventType > &filter_visitor) const override
virtual void getAttributeType(FilterVisitor< EventType > &visitor) const =0