chromium/third_party/blink/renderer/core/layout/table/table_child_iterator.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_TABLE_TABLE_CHILD_ITERATOR_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_TABLE_TABLE_CHILD_ITERATOR_H_

#include <optional>

#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/layout/block_node.h"
#include "third_party/blink/renderer/core/layout/table/table_layout_algorithm_types.h"

namespace blink {

class BlockBreakToken;

// A utility class for table layout which given the first child and a break
// token will iterate through unfinished children.
//
// NextChild() is used to iterate through the children. This will be done in
// child layout order (i.e. in this order: top captions, table header, table
// bodies, table footer, bottom captions). If there are child break tokens,
// though, their nodes will be processed first, in break token order.
class CORE_EXPORT TableChildIterator {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_TABLE_TABLE_CHILD_ITERATOR_H_