#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_INLINE_INLINE_CURSOR_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_INLINE_INLINE_CURSOR_H_
#include <unicode/ubidi.h>
#include "base/check_op.h"
#include "base/dcheck_is_on.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/editing/forward.h"
#include "third_party/blink/renderer/core/layout/inline/fragment_item.h"
#include "third_party/blink/renderer/core/layout/inline/fragment_items.h"
#include "third_party/blink/renderer/platform/text/text_direction.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "third_party/blink/renderer/platform/wtf/text/string_view.h"
namespace blink {
class ComputedStyle;
class DisplayItemClient;
class FragmentItem;
class FragmentItems;
class InlineBackwardCursor;
class InlineBreakToken;
class InlineCursor;
class InlinePaintContext;
class LayoutBlockFlow;
class LayoutInline;
class LayoutObject;
class Node;
class PhysicalBoxFragment;
class ShapeResultView;
enum class StyleVariant;
struct LayoutSelectionStatus;
struct PhysicalOffset;
struct PhysicalRect;
struct PhysicalSize;
class CORE_EXPORT InlineCursorPosition { … };
class CORE_EXPORT InlineCursor { … };
class CORE_EXPORT InlineBackwardCursor { … };
CORE_EXPORT std::ostream& operator<<(std::ostream&, const InlineCursor&);
CORE_EXPORT std::ostream& operator<<(std::ostream&, const InlineCursor*);
}
#endif