9 class iterator_selector
\r
12 virtual bool select(const element::ptr& el) = 0;
\r
15 class elements_iterator
\r
26 stack_item(const stack_item& val)
\r
31 stack_item(stack_item&& val)
\r
34 el = std::move(val.el);
\r
38 std::vector<stack_item> m_stack;
\r
41 iterator_selector* m_go_inside;
\r
42 iterator_selector* m_select;
\r
45 elements_iterator(const element::ptr& el, iterator_selector* go_inside, iterator_selector* select)
\r
49 m_go_inside = go_inside;
\r
53 ~elements_iterator()
\r
58 element::ptr next(bool ret_parent = true);
\r
64 class go_inside_inline : public iterator_selector
\r
67 virtual bool select(const element::ptr& el);
\r
70 class go_inside_table : public iterator_selector
\r
73 virtual bool select(const element::ptr& el);
\r
76 class table_rows_selector : public iterator_selector
\r
79 virtual bool select(const element::ptr& el);
\r
82 class table_cells_selector : public iterator_selector
\r
85 virtual bool select(const element::ptr& el);
\r