#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_DOM_SHADOW_INCLUDING_TREE_ORDER_TRAVERSAL_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_DOM_SHADOW_INCLUDING_TREE_ORDER_TRAVERSAL_H_
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/node.h"
#include "third_party/blink/renderer/core/dom/shadow_root.h"
#include "third_party/blink/renderer/core/dom/traversal_range.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
namespace blink {
class CORE_EXPORT ShadowIncludingTreeOrderTraversal { … };
inline Node* ShadowIncludingTreeOrderTraversal::Next(const Node& current,
const Node* stay_within) { … }
inline Node* ShadowIncludingTreeOrderTraversal::NextSibling(const Node& node) { … }
inline Node* ShadowIncludingTreeOrderTraversal::FirstWithin(
const Node& current) { … }
inline TraversalSiblingRange<ShadowIncludingTreeOrderTraversal>
ShadowIncludingTreeOrderTraversal::ChildrenOf(const Node& parent) { … }
inline TraversalDescendantRange<ShadowIncludingTreeOrderTraversal>
ShadowIncludingTreeOrderTraversal::DescendantsOf(const Node& root) { … }
inline TraversalInclusiveDescendantRange<ShadowIncludingTreeOrderTraversal>
ShadowIncludingTreeOrderTraversal::InclusiveDescendantsOf(const Node& root) { … }
inline Node* ShadowIncludingTreeOrderTraversal::TraverseParent(
const Node& current) { … }
inline Node* ShadowIncludingTreeOrderTraversal::TraverseNextSibling(
const Node& current) { … }
}
#endif