Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: source/common/unicode/brkiter.h

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/common/unames.cpp ('k') | source/common/unicode/bytestriebuilder.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 ******************************************************************************** 2 ********************************************************************************
3 * Copyright (C) 1997-2013, International Business Machines 3 * Copyright (C) 1997-2014, International Business Machines
4 * Corporation and others. All Rights Reserved. 4 * Corporation and others. All Rights Reserved.
5 ******************************************************************************** 5 ********************************************************************************
6 * 6 *
7 * File brkiter.h 7 * File brkiter.h
8 * 8 *
9 * Modification History: 9 * Modification History:
10 * 10 *
11 * Date Name Description 11 * Date Name Description
12 * 02/18/97 aliu Added typedef for TextCount. Made DONE const. 12 * 02/18/97 aliu Added typedef for TextCount. Made DONE const.
13 * 05/07/97 aliu Fixed DLL declaration. 13 * 05/07/97 aliu Fixed DLL declaration.
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 enum { 206 enum {
207 /** 207 /**
208 * DONE is returned by previous() and next() after all valid 208 * DONE is returned by previous() and next() after all valid
209 * boundaries have been returned. 209 * boundaries have been returned.
210 * @stable ICU 2.0 210 * @stable ICU 2.0
211 */ 211 */
212 DONE = (int32_t)-1 212 DONE = (int32_t)-1
213 }; 213 };
214 214
215 /** 215 /**
216 * Set the iterator position to the index of the first character in the text being scanned. 216 * Sets the current iteration position to the beginning of the text, positio n zero.
217 * @return The index of the first character in the text being scanned. 217 * @return The offset of the beginning of the text, zero.
218 * @stable ICU 2.0 218 * @stable ICU 2.0
219 */ 219 */
220 virtual int32_t first(void) = 0; 220 virtual int32_t first(void) = 0;
221 221
222 /** 222 /**
223 * Set the iterator position to the index immediately BEYOND the last charac ter in the text being scanned. 223 * Set the iterator position to the index immediately BEYOND the last charac ter in the text being scanned.
224 * @return The index immediately BEYOND the last character in the text being scanned. 224 * @return The index immediately BEYOND the last character in the text being scanned.
225 * @stable ICU 2.0 225 * @stable ICU 2.0
226 */ 226 */
227 virtual int32_t last(void) = 0; 227 virtual int32_t last(void) = 0;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 * break rule that determined the most recently 295 * break rule that determined the most recently
296 * returned break position. 296 * returned break position.
297 * <p> 297 * <p>
298 * For break iterator types that do not support a rule status, 298 * For break iterator types that do not support a rule status,
299 * a default value of 0 is returned. 299 * a default value of 0 is returned.
300 * <p> 300 * <p>
301 * @return the status from the break rule that determined the most recently 301 * @return the status from the break rule that determined the most recently
302 * returned break position. 302 * returned break position.
303 * @see RuleBaseBreakIterator::getRuleStatus() 303 * @see RuleBaseBreakIterator::getRuleStatus()
304 * @see UWordBreak 304 * @see UWordBreak
305 * @draft ICU 52 305 * @stable ICU 52
306 */ 306 */
307 virtual int32_t getRuleStatus() const; 307 virtual int32_t getRuleStatus() const;
308 308
309 /** 309 /**
310 * For RuleBasedBreakIterators, get the status (tag) values from the break ru le(s) 310 * For RuleBasedBreakIterators, get the status (tag) values from the break ru le(s)
311 * that determined the most recently returned break position. 311 * that determined the most recently returned break position.
312 * <p> 312 * <p>
313 * For break iterator types that do not support rule status, 313 * For break iterator types that do not support rule status,
314 * no values are returned. 314 * no values are returned.
315 * <p> 315 * <p>
316 * The returned status value(s) are stored into an array provided by the call er. 316 * The returned status value(s) are stored into an array provided by the call er.
317 * The values are stored in sorted (ascending) order. 317 * The values are stored in sorted (ascending) order.
318 * If the capacity of the output array is insufficient to hold the data, 318 * If the capacity of the output array is insufficient to hold the data,
319 * the output will be truncated to the available length, and a 319 * the output will be truncated to the available length, and a
320 * U_BUFFER_OVERFLOW_ERROR will be signaled. 320 * U_BUFFER_OVERFLOW_ERROR will be signaled.
321 * <p> 321 * <p>
322 * @see RuleBaseBreakIterator::getRuleStatusVec 322 * @see RuleBaseBreakIterator::getRuleStatusVec
323 * 323 *
324 * @param fillInVec an array to be filled in with the status values. 324 * @param fillInVec an array to be filled in with the status values.
325 * @param capacity the length of the supplied vector. A length of zero caus es 325 * @param capacity the length of the supplied vector. A length of zero caus es
326 * the function to return the number of status values, in th e 326 * the function to return the number of status values, in th e
327 * normal way, without attemtping to store any values. 327 * normal way, without attemtping to store any values.
328 * @param status receives error codes. 328 * @param status receives error codes.
329 * @return The number of rule status values from rules that determin ed 329 * @return The number of rule status values from rules that determin ed
330 * the most recent boundary returned by the break iterator. 330 * the most recent boundary returned by the break iterator.
331 * In the event of a U_BUFFER_OVERFLOW_ERROR, the return val ue 331 * In the event of a U_BUFFER_OVERFLOW_ERROR, the return val ue
332 * is the total number of status values that were available, 332 * is the total number of status values that were available,
333 * not the reduced number that were actually returned. 333 * not the reduced number that were actually returned.
334 * @see getRuleStatus 334 * @see getRuleStatus
335 * @draft ICU 52 335 * @stable ICU 52
336 */ 336 */
337 virtual int32_t getRuleStatusVec(int32_t *fillInVec, int32_t capacity, UErro rCode &status); 337 virtual int32_t getRuleStatusVec(int32_t *fillInVec, int32_t capacity, UErro rCode &status);
338 338
339 /** 339 /**
340 * Create BreakIterator for word-breaks using the given locale. 340 * Create BreakIterator for word-breaks using the given locale.
341 * Returns an instance of a BreakIterator implementing word breaks. 341 * Returns an instance of a BreakIterator implementing word breaks.
342 * WordBreak is useful for word selection (ex. double click) 342 * WordBreak is useful for word selection (ex. double click)
343 * @param where the locale. 343 * @param where the locale.
344 * @param status the error code 344 * @param status the error code
345 * @return A BreakIterator for word-breaks. The UErrorCode& status 345 * @return A BreakIterator for word-breaks. The UErrorCode& status
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 inline UBool isBufferClone(void); 519 inline UBool isBufferClone(void);
520 520
521 #endif /* U_HIDE_DEPRECATED_API */ 521 #endif /* U_HIDE_DEPRECATED_API */
522 522
523 #if !UCONFIG_NO_SERVICE 523 #if !UCONFIG_NO_SERVICE
524 /** 524 /**
525 * Register a new break iterator of the indicated kind, to use in the given locale. 525 * Register a new break iterator of the indicated kind, to use in the given locale.
526 * The break iterator will be adopted. Clones of the iterator will be retur ned 526 * The break iterator will be adopted. Clones of the iterator will be retur ned
527 * if a request for a break iterator of the given kind matches or falls back to 527 * if a request for a break iterator of the given kind matches or falls back to
528 * this locale. 528 * this locale.
529 * Because ICU may choose to cache BreakIterators internally, this must
530 * be called at application startup, prior to any calls to
531 * BreakIterator::createXXXInstance to avoid undefined behavior.
529 * @param toAdopt the BreakIterator instance to be adopted 532 * @param toAdopt the BreakIterator instance to be adopted
530 * @param locale the Locale for which this instance is to be registered 533 * @param locale the Locale for which this instance is to be registered
531 * @param kind the type of iterator for which this instance is to be registe red 534 * @param kind the type of iterator for which this instance is to be registe red
532 * @param status the in/out status code, no special meanings are assigned 535 * @param status the in/out status code, no special meanings are assigned
533 * @return a registry key that can be used to unregister this instance 536 * @return a registry key that can be used to unregister this instance
534 * @stable ICU 2.4 537 * @stable ICU 2.4
535 */ 538 */
536 static URegistryKey U_EXPORT2 registerInstance(BreakIterator* toAdopt, 539 static URegistryKey U_EXPORT2 registerInstance(BreakIterator* toAdopt,
537 const Locale& locale, 540 const Locale& locale,
538 UBreakIteratorType kind, 541 UBreakIteratorType kind,
539 UErrorCode& status); 542 UErrorCode& status);
540 543
541 /** 544 /**
542 * Unregister a previously-registered BreakIterator using the key returned f rom the 545 * Unregister a previously-registered BreakIterator using the key returned f rom the
543 * register call. Key becomes invalid after a successful call and should no t be used again. 546 * register call. Key becomes invalid after a successful call and should no t be used again.
544 * The BreakIterator corresponding to the key will be deleted. 547 * The BreakIterator corresponding to the key will be deleted.
548 * Because ICU may choose to cache BreakIterators internally, this should
549 * be called during application shutdown, after all calls to
550 * BreakIterator::createXXXInstance to avoid undefined behavior.
545 * @param key the registry key returned by a previous call to registerInstan ce 551 * @param key the registry key returned by a previous call to registerInstan ce
546 * @param status the in/out status code, no special meanings are assigned 552 * @param status the in/out status code, no special meanings are assigned
547 * @return TRUE if the iterator for the key was successfully unregistered 553 * @return TRUE if the iterator for the key was successfully unregistered
548 * @stable ICU 2.4 554 * @stable ICU 2.4
549 */ 555 */
550 static UBool U_EXPORT2 unregister(URegistryKey key, UErrorCode& status); 556 static UBool U_EXPORT2 unregister(URegistryKey key, UErrorCode& status);
551 557
552 /** 558 /**
553 * Return a StringEnumeration over the locales available at the time of the call, 559 * Return a StringEnumeration over the locales available at the time of the call,
554 * including registered locales. 560 * including registered locales.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
610 friend class ICUBreakIteratorFactory; 616 friend class ICUBreakIteratorFactory;
611 friend class ICUBreakIteratorService; 617 friend class ICUBreakIteratorService;
612 618
613 protected: 619 protected:
614 // Do not enclose protected default/copy constructors with #ifndef U_HIDE_IN TERNAL_API 620 // Do not enclose protected default/copy constructors with #ifndef U_HIDE_IN TERNAL_API
615 // or else the compiler will create a public ones. 621 // or else the compiler will create a public ones.
616 /** @internal */ 622 /** @internal */
617 BreakIterator(); 623 BreakIterator();
618 /** @internal */ 624 /** @internal */
619 BreakIterator (const BreakIterator &other) : UObject(other) {} 625 BreakIterator (const BreakIterator &other) : UObject(other) {}
620 626 /** @internal */
627 BreakIterator (const Locale& valid, const Locale& actual);
621 private: 628 private:
622 629
623 /** @internal */ 630 /** @internal */
624 char actualLocale[ULOC_FULLNAME_CAPACITY]; 631 char actualLocale[ULOC_FULLNAME_CAPACITY];
625 char validLocale[ULOC_FULLNAME_CAPACITY]; 632 char validLocale[ULOC_FULLNAME_CAPACITY];
626 633
627 /** 634 /**
628 * The assignment operator has no real implementation. 635 * The assignment operator has no real implementation.
629 * It's provided to make the compiler happy. Do not call. 636 * It's provided to make the compiler happy. Do not call.
630 */ 637 */
631 BreakIterator& operator=(const BreakIterator&); 638 BreakIterator& operator=(const BreakIterator&);
632 }; 639 };
633 640
634 #ifndef U_HIDE_DEPRECATED_API 641 #ifndef U_HIDE_DEPRECATED_API
635 642
636 inline UBool BreakIterator::isBufferClone() 643 inline UBool BreakIterator::isBufferClone()
637 { 644 {
638 return FALSE; 645 return FALSE;
639 } 646 }
640 647
641 #endif /* U_HIDE_DEPRECATED_API */ 648 #endif /* U_HIDE_DEPRECATED_API */
642 649
643 U_NAMESPACE_END 650 U_NAMESPACE_END
644 651
645 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */ 652 #endif /* #if !UCONFIG_NO_BREAK_ITERATION */
646 653
647 #endif // _BRKITER 654 #endif // _BRKITER
648 //eof 655 //eof
OLDNEW
« no previous file with comments | « source/common/unames.cpp ('k') | source/common/unicode/bytestriebuilder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698