22 #ifndef __M2ETIS_PUBSUB_FILTER_FILTEREXP_H__ 
   23 #define __M2ETIS_PUBSUB_FILTER_FILTEREXP_H__ 
   31         template<
typename EventType>
 
   39                         filter_visitor.
Visit(
this);
 
   44                         return this->doCompare(other_filter) && other_filter.doCompare(*
this);
 
   48                         return !(*
this == other_filter);
 
   58                 virtual operator std::string()
 const {
 
   59                         return typeid(*this).name();
 
   67                 virtual bool doCompare(
const FilterExp &)
 const { 
return false; } 
 
   69                 virtual size_t doHash()
 const { 
return 0; } 
 
   72                 template<
typename Archive>
 
   73                 void serialize(Archive &, 
const unsigned int) {
 
   83     template<
typename EventType>
 
   84     struct hash<
m2etis::pubsub::filter::FilterExp<EventType>> : 
public unary_function<m2etis::pubsub::filter::FilterExp<EventType>, size_t> {
 
bool operator==(const FilterExp &other_filter) const 
 
friend class boost::serialization::access
 
bool operator!=(const FilterExp &other_filter) const 
 
boost::shared_ptr< FilterExp< EventType > > FilterExpPtr
 
virtual void Accept(FilterVisitor< EventType > &filter_visitor) const 
 
virtual void Visit(const FilterExp< EventType > *)=0
 
size_t operator()(const m2etis::pubsub::filter::FilterExp< EventType > &filter) const