12 #if U_SHOW_CPLUSPLUS_API
87 array(stackArray), capacity(STACK_CAPACITY), length(0), delta(0), numChanges(0),
95 array(stackArray), capacity(STACK_CAPACITY), length(other.length),
96 delta(other.delta), numChanges(other.numChanges),
97 errorCode_(other.errorCode_) {
107 array(stackArray), capacity(STACK_CAPACITY), length(src.length),
108 delta(src.delta), numChanges(src.numChanges),
109 errorCode_(src.errorCode_) {
141 void reset() noexcept;
148 void addUnchanged(int32_t unchangedLength);
154 void addReplace(int32_t oldLength, int32_t newLength);
172 int32_t lengthDelta()
const {
return delta; }
209 array(nullptr), index(0), length(0),
210 remaining(0), onlyChanges_(false), coarse(false),
211 dir(0), changed(false), oldLength_(0), newLength_(0),
212 srcIndex(0), replIndex(0), destIndex(0) {}
254 return findIndex(i,
true, errorCode) == 0;
277 return findIndex(i,
false, errorCode) == 0;
302 int32_t destinationIndexFromSourceIndex(int32_t i,
UErrorCode &errorCode);
326 int32_t sourceIndexFromDestinationIndex(int32_t i,
UErrorCode &errorCode);
394 #ifndef U_HIDE_INTERNAL_API
401 #endif // U_HIDE_INTERNAL_API
408 int32_t readLength(int32_t head);
409 void updateNextIndexes();
410 void updatePreviousIndexes();
417 const uint16_t *array;
418 int32_t index, length;
422 UBool onlyChanges_, coarse;
426 int32_t oldLength_, newLength_;
427 int32_t srcIndex, replIndex, destIndex;
439 return Iterator(array, length,
true,
true);
451 return Iterator(array, length,
false,
true);
463 return Iterator(array, length,
true,
false);
474 return Iterator(array, length,
false,
false);
507 void releaseArray() noexcept;
511 void setLastUnit(int32_t last) { array[length - 1] = (uint16_t)last; }
512 int32_t lastUnit()
const {
return length > 0 ? array[length - 1] : 0xffff; }
514 void append(int32_t r);
517 static const int32_t STACK_CAPACITY = 100;
524 uint16_t stackArray[STACK_CAPACITY];
531 #endif // __EDITS_H__