#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/core/editing/state_machines/forward_grapheme_boundary_state_machine.h"
#include <ostream>
#include "third_party/blink/renderer/core/editing/state_machines/state_machine_util.h"
#include "third_party/blink/renderer/core/editing/state_machines/text_segmentation_machine_state.h"
#include "third_party/blink/renderer/platform/text/character.h"
#include "third_party/blink/renderer/platform/wtf/text/unicode.h"
namespace blink {
namespace {
const UChar32 kUnsetCodePoint = …;
}
#define FOR_EACH_FORWARD_GRAPHEME_BOUNDARY_STATE(V) …
enum class ForwardGraphemeBoundaryStateMachine::InternalState { … };
std::ostream& operator<<(
std::ostream& os,
ForwardGraphemeBoundaryStateMachine::InternalState state) { … }
ForwardGraphemeBoundaryStateMachine::ForwardGraphemeBoundaryStateMachine()
: … { … }
TextSegmentationMachineState
ForwardGraphemeBoundaryStateMachine::FeedPrecedingCodeUnit(UChar code_unit) { … }
TextSegmentationMachineState
ForwardGraphemeBoundaryStateMachine::FeedFollowingCodeUnit(UChar code_unit) { … }
TextSegmentationMachineState
ForwardGraphemeBoundaryStateMachine::TellEndOfPrecedingText() { … }
int ForwardGraphemeBoundaryStateMachine::FinalizeAndGetBoundaryOffset() { … }
void ForwardGraphemeBoundaryStateMachine::Reset() { … }
TextSegmentationMachineState ForwardGraphemeBoundaryStateMachine::Finish() { … }
TextSegmentationMachineState
ForwardGraphemeBoundaryStateMachine::MoveToNextState(InternalState next_state) { … }
TextSegmentationMachineState
ForwardGraphemeBoundaryStateMachine::StaySameState() { … }
void ForwardGraphemeBoundaryStateMachine::FinishWithEndOfText() { … }
}