void visit(rule_type const& r)
	{	    
	    const symbolizers& symbols = r.get_symbolizers();
	    symbolizers::const_iterator symIter=symbols.begin();
	    symbolizer_attributes attr(names_);
	    while (symIter != symbols.end())
	    {
		boost::apply_visitor(attr,*symIter++);
	    }
	    filter_ptr const& filter = r.get_filter();
	    filter->accept(*this);
	}
Пример #2
0
    static  boost::python::tuple
    getstate(const rule_type& r)
    {
        boost::python::list syms;
        
	rule_type::symbolizers::const_iterator begin = r.get_symbolizers().begin();
	rule_type::symbolizers::const_iterator end = r.get_symbolizers().end();        
        pickle_symbolizer serializer( syms );
        std::for_each( begin, end , boost::apply_visitor( serializer ));
        
	// We serialize filter expressions AST as strings
        std::string filter_expr = to_expression_string(*r.get_filter());
	
        return boost::python::make_tuple(r.get_abstract(),filter_expr,r.has_else_filter(),syms);
    }