Photon 1.0.0
Loading...
Searching...
No Matches
iterators.h
Go to the documentation of this file.
1#ifndef LH_ITERATORS_H
2#define LH_ITERATORS_H
3
4#include "types.h"
5#include <list>
6#include <functional>
7
8namespace litehtml
9{
10 class render_item;
11
13 {
14 public:
15 virtual bool select(const std::shared_ptr<render_item>& el) = 0;
16
17 protected:
18 ~iterator_selector() = default;
19 };
20
27
29 {
30 private:
34
41 bool go_inside(const std::shared_ptr<render_item>& el);
42
43 public:
45 ~elements_iterator() = default;
46
47 void process(const std::shared_ptr<render_item>& container, const std::function<void (std::shared_ptr<render_item>&, iterator_item_type)>& func);
48
49 private:
50 void next_idx();
51 };
52
54 {
55 public:
56 bool select(const std::shared_ptr<render_item>& el) override;
57 };
58
60 {
61 public:
62 bool select(const std::shared_ptr<render_item>& el) override;
63 };
64
66 {
67 public:
68 bool select(const std::shared_ptr<render_item>& el) override;
69 };
70
72 {
73 public:
74 bool select(const std::shared_ptr<render_item>& el) override;
75 };
76
78 {
79 public:
80 bool select(const std::shared_ptr<render_item>& el) override;
81 };
82}
83
84#endif // LH_ITERATORS_H
Definition iterators.h:29
bool m_return_parent
Definition iterators.h:33
void process(const std::shared_ptr< render_item > &container, const std::function< void(std::shared_ptr< render_item > &, iterator_item_type)> &func)
Definition iterators.cpp:19
iterator_selector * m_go_inside
Definition iterators.h:31
bool go_inside(const std::shared_ptr< render_item > &el)
Definition iterators.cpp:14
iterator_selector * m_select
Definition iterators.h:32
Definition iterators.h:54
Definition iterators.h:66
Definition iterators.h:60
Definition iterators.h:13
virtual bool select(const std::shared_ptr< render_item > &el)=0
Definition iterators.h:78
Definition iterators.h:72
Definition background.h:12
iterator_item_type
Definition iterators.h:22
@ iterator_item_type_child
Definition iterators.h:23
@ iterator_item_type_end_parent
Definition iterators.h:25
@ iterator_item_type_start_parent
Definition iterators.h:24
annotation select
Definition tag_strings.h:116