Mercurial > projects > dwt2
view com.ibm.icu/src/com/ibm/icu/text/BreakIterator.d @ 125:c43718956f21 default tip
Updated the snippets status.
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Thu, 11 Aug 2011 19:55:14 +0200 |
parents | 536e43f63c81 |
children |
line wrap: on
line source
module com.ibm.icu.text.BreakIterator; import com.ibm.icu.mangoicu.UBreakIterator; version(Tango) import tango.core.Thread; import java.lang.all; import java.text.CharacterIterator; public class BreakIterator { public static const int DONE = UBreakIterator.DONE; public static const int Done = UBreakIterator.DONE; private UBreakIterator it; version(Tango){ private static tango.core.Thread.ThreadLocal!(BreakIterator) instLine, instWord; } else { // Phobos private static BreakIterator instLine, instWord; //in tls } private this( UBreakIterator it ){ this.it = it; } public static BreakIterator getLineInstance() { version(Tango){ auto res = instLine.val(); if( res is null ){ res = new BreakIterator( UBreakIterator.openLineIterator( ULocale.Default )); instLine.val( res ); } return res; } else { // Phobos if( instLine is null ){ instLine = new BreakIterator( UBreakIterator.openLineIterator( ULocale.Default )); } return instLine; } } public void setText(String line) { it.setText(Unqual(line)); } public int following(int currOffset) { return it.following(currOffset); } public int next() { return it.next(); } public static BreakIterator getWordInstance() { version(Tango){ auto res = instWord.val(); if( res is null ){ res = new BreakIterator( UBreakIterator.openWordIterator( ULocale.Default )); instWord.val( res ); } return res; } else { // Phobos if( instWord is null ){ instWord = new BreakIterator( UBreakIterator.openLineIterator( ULocale.Default )); } return instWord; } } public int preceding(int position) { return it.previous(position); } public void setText(CharacterIterator docIter) { implMissing(__FILE__, __LINE__); } public bool isBoundary(int position) { return it.isBoundary(position); } public int first() { return it.first(); } }