Home | History | Annotate | Download | only in dom

Lines Matching refs:ElementType

34 template <class ElementType>
37 // First or last ElementType child of the node.
38 static ElementType* firstChild(const ContainerNode& current) { return firstChildTemplate(current); }
39 static ElementType* firstChild(const Node& current) { return firstChildTemplate(current); }
40 static ElementType* lastChild(const ContainerNode& current) { return lastChildTemplate(current); }
41 static ElementType* lastChild(const Node& current) { return lastChildTemplate(current); }
43 // First ElementType ancestor of the node.
44 static ElementType* firstAncestor(const Node& current);
45 static ElementType* firstAncestorOrSelf(Node& current) { return firstAncestorOrSelfTemplate(current); }
46 static ElementType* firstAncestorOrSelf(Element& current) { return firstAncestorOrSelfTemplate(current); }
48 // First or last ElementType descendant of the node.
50 static ElementType* firstWithin(const ContainerNode& current) { return firstWithinTemplate(current); }
51 static ElementType* firstWithin(const Node& current) { return firstWithinTemplate(current); }
52 static ElementType* lastWithin(const ContainerNode& current) { return lastWithinTemplate(current); }
53 static ElementType* lastWithin(const Node& current) { return lastWithinTemplate(current); }
56 static ElementType* next(const ContainerNode& current) { return nextTemplate(current); }
57 static ElementType* next(const Node& current) { return nextTemplate(current); }
58 static ElementType* next(const ContainerNode& current, const Node* stayWithin) { return nextTemplate(current, stayWithin); }
59 static ElementType* next(const Node& current, const Node* stayWithin) { return nextTemplate(current, stayWithin); }
60 static ElementType* previous(const ContainerNode& current) { return previousTemplate(current); }
61 static ElementType* previous(const Node& current) { return previousTemplate(current); }
62 static ElementType* previous(const ContainerNode& current, const Node* stayWithin) { return previousTemplate(current, stayWithin); }
63 static ElementType* previous(const Node& current, const Node* stayWithin) { return previousTemplate(current, stayWithin); }
66 static ElementType* nextSkippingChildren(const ContainerNode& current) { return nextSkippingChildrenTemplate(current); }
67 static ElementType* nextSkippingChildren(const Node& current) { return nextSkippingChildrenTemplate(current); }
68 static ElementType* nextSkippingChildren(const ContainerNode& current, const Node* stayWithin) { return nextSkippingChildrenTemplate(current, stayWithin); }
69 static ElementType* nextSkippingChildren(const Node& current, const Node* stayWithin) { return nextSkippingChildrenTemplate(current, stayWithin); }
72 static ElementType* previousIncludingPseudo(const Node&, const Node* stayWithin = 0);
73 static ElementType* nextIncludingPseudo(const Node&, const Node* stayWithin = 0);
74 static ElementType* nextIncludingPseudoSkippingChildren(const Node&, const Node* stayWithin = 0);
77 static ElementType* pseudoAwarePreviousSibling(const Node&);
80 static ElementType* previousSibling(const Node&);
81 static ElementType* nextSibling(const Node&);
85 static ElementType* firstChildTemplate(NodeType&);
87 static ElementType* lastChildTemplate(NodeType&);
89 static ElementType* firstAncestorOrSelfTemplate(NodeType&);
91 static ElementType* firstWithinTemplate(NodeType&);
93 static ElementType* lastWithinTemplate(NodeType&);
95 static ElementType* nextTemplate(NodeType&);
97 static ElementType* nextTemplate(NodeType&, const Node* stayWithin);
99 static ElementType* previousTemplate(NodeType&);
101 static ElementType* previousTemplate(NodeType&, const Node* stayWithin);
103 static ElementType* nextSkippingChildrenTemplate(NodeType&);
105 static ElementType* nextSkippingChildrenTemplate(NodeType&, const Node* stayWithin);
169 template <class ElementType>
171 inline ElementType* Traversal<ElementType>::firstChildTemplate(NodeType& current)
174 while (node && !isElementOfType<const ElementType>(*node))
176 return toElement<ElementType>(node);
179 template <class ElementType>
180 inline ElementType* Traversal<ElementType>::firstAncestor(const Node& current)
183 while (ancestor && !isElementOfType<const ElementType>(*ancestor))
185 return toElement<ElementType>(ancestor);
188 template <class ElementType>
190 inline ElementType* Traversal<ElementType>::firstAncestorOrSelfTemplate(NodeType& current)
192 if (isElementOfType<const ElementType>(current))
193 return &toElement<ElementType>(current);
197 template <class ElementType>
199 inline ElementType* Traversal<ElementType>::lastChildTemplate(NodeType& current)
202 while (node && !isElementOfType<const ElementType>(*node))
204 return toElement<ElementType>(node);
207 template <class ElementType>
209 inline ElementType* Traversal<ElementType>::firstWithinTemplate(NodeType& current)
212 while (element && !isElementOfType<const ElementType>(*element))
214 return toElement<ElementType>(element);
217 template <class ElementType>
219 inline ElementType* Traversal<ElementType>::lastWithinTemplate(NodeType& current)
222 while (element && !isElementOfType<const ElementType>(*element))
224 return toElement<ElementType>(element);
227 template <class ElementType>
229 inline ElementType* Traversal<ElementType>::nextTemplate(NodeType& current)
232 while (element && !isElementOfType<const ElementType>(*element))
234 return toElement<ElementType>(element);
237 template <class ElementType>
239 inline ElementType* Traversal<ElementType>::nextTemplate(NodeType& current, const Node* stayWithin)
242 while (element && !isElementOfType<const ElementType>(*element))
244 return toElement<ElementType>(element);
247 template <class ElementType>
249 inline ElementType* Traversal<ElementType>::previousTemplate(NodeType& current)
252 while (element && !isElementOfType<const ElementType>(*element))
254 return toElement<ElementType>(element);
257 template <class ElementType>
259 inline ElementType* Traversal<ElementType>::previousTemplate(NodeType& current, const Node* stayWithin)
262 while (element && !isElementOfType<const ElementType>(*element))
264 return toElement<ElementType>(element);
267 template <class ElementType>
269 inline ElementType* Traversal<ElementType>::nextSkippingChildrenTemplate(NodeType& current)
272 while (node && !isElementOfType<const ElementType>(*node))
274 return toElement<ElementType>(node);
277 template <class ElementType>
279 inline ElementType* Traversal<ElementType>::nextSkippingChildrenTemplate(NodeType& current, const Node* stayWithin)
282 while (node && !isElementOfType<const ElementType>(*node))
284 return toElement<ElementType>(node);
287 template <class ElementType>
288 inline ElementType* Traversal<ElementType>::previousIncludingPseudo(const Node& current, const Node* stayWithin)
291 while (node && !isElementOfType<const ElementType>(*node))
293 return toElement<ElementType>(node);
296 template <class ElementType>
297 inline ElementType* Traversal<ElementType>::nextIncludingPseudo(const Node& current, const Node* stayWithin)
300 while (node && !isElementOfType<const ElementType>(*node))
302 return toElement<ElementType>(node);
305 template <class ElementType>
306 inline ElementType* Traversal<ElementType>::nextIncludingPseudoSkippingChildren(const Node& current, const Node* stayWithin)
309 while (node && !isElementOfType<const ElementType>(*node))
311 return toElement<ElementType>(node);
314 template <class ElementType>
315 inline ElementType* Traversal<ElementType>::pseudoAwarePreviousSibling(const Node& current)
318 while (node && !isElementOfType<const ElementType>(*node))
320 return toElement<ElementType>(node);
323 template <class ElementType>
324 inline ElementType* Traversal<ElementType>::previousSibling(const Node& current)
327 while (node && !isElementOfType<const ElementType>(*node))
329 return toElement<ElementType>(node);
332 template <class ElementType>
333 inline ElementType* Traversal<ElementType>::nextSibling(const Node& current)
336 while (node && !isElementOfType<const ElementType>(*node))
338 return toElement<ElementType>(node);