#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/core/editing/state_machines/backward_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/character_names.h"
#include "third_party/blink/renderer/platform/wtf/text/unicode.h"
namespace blink {
namespace {
const UChar32 kInvalidCodePoint = …;
}
#define FOR_EACH_BACKWARD_GRAPHEME_BOUNDARY_STATE(V) …
enum class BackwardGraphemeBoundaryStateMachine::InternalState { … };
std::ostream& operator<<(
std::ostream& os,
BackwardGraphemeBoundaryStateMachine::InternalState state) { … }
BackwardGraphemeBoundaryStateMachine::BackwardGraphemeBoundaryStateMachine()
: … { … }
TextSegmentationMachineState
BackwardGraphemeBoundaryStateMachine::FeedPrecedingCodeUnit(UChar code_unit) { … }
TextSegmentationMachineState
BackwardGraphemeBoundaryStateMachine::TellEndOfPrecedingText() { … }
TextSegmentationMachineState
BackwardGraphemeBoundaryStateMachine::FeedFollowingCodeUnit(UChar code_unit) { … }
int BackwardGraphemeBoundaryStateMachine::FinalizeAndGetBoundaryOffset() { … }
TextSegmentationMachineState
BackwardGraphemeBoundaryStateMachine::MoveToNextState(
InternalState next_state) { … }
TextSegmentationMachineState
BackwardGraphemeBoundaryStateMachine::StaySameState() { … }
TextSegmentationMachineState BackwardGraphemeBoundaryStateMachine::Finish() { … }
void BackwardGraphemeBoundaryStateMachine::Reset() { … }
}