11#include <forward_list>
93 currentNode->getChildCount() > 0) {
121 static_assert(std::input_iterator<LayoutableChildren<T>::Iterator>);
123 std::is_base_of<Node, T>::value,
124 "Type parameter of LayoutableChildren must derive from yoga::Node");
128 if (
node_->getChildCount() > 0) {
132 result.skipContentsNodes();
Definition LayoutableChildren.h:21
LayoutableChildren(const T *node)
Definition LayoutableChildren.h:120
Iterator begin() const
Definition LayoutableChildren.h:127
const T * node_
Definition LayoutableChildren.h:145
Iterator end() const
Definition LayoutableChildren.h:140
Definition Benchmark.cpp:19
Definition LayoutableChildren.h:23
Iterator operator++(int)
Definition LayoutableChildren.h:44
std::forward_list< std::pair< const T *, size_t > > backtrack_
Definition LayoutableChildren.h:115
friend bool operator!=(const Iterator &a, const Iterator &b)
Definition LayoutableChildren.h:54
const T * node_
Definition LayoutableChildren.h:113
std::ptrdiff_t difference_type
Definition LayoutableChildren.h:25
void next()
Definition LayoutableChildren.h:59
T * value_type
Definition LayoutableChildren.h:26
void skipContentsNodes()
Definition LayoutableChildren.h:89
Iterator(const T *node, size_t childIndex)
Definition LayoutableChildren.h:32
Iterator & operator++()
Definition LayoutableChildren.h:39
T * pointer
Definition LayoutableChildren.h:27
std::input_iterator_tag iterator_category
Definition LayoutableChildren.h:24
T * operator*() const
Definition LayoutableChildren.h:35
friend bool operator==(const Iterator &a, const Iterator &b)
Definition LayoutableChildren.h:50
friend LayoutableChildren
Definition LayoutableChildren.h:117
size_t childIndex_
Definition LayoutableChildren.h:114
T * reference
Definition LayoutableChildren.h:28