/*
***************************************************************************
-* Copyright (C) 1999-2006 International Business Machines Corporation *
+* Copyright (C) 1999-2008 International Business Machines Corporation *
* and others. All rights reserved. *
***************************************************************************
// constructors
//=======================================================================
+ /**
+ * Constant to be used in the constructor
+ * RuleBasedBreakIterator(RBBIDataHeader*, EDontAdopt, UErrorCode &);
+ * which does not adopt the memory indicated by the RBBIDataHeader*
+ * parameter.
+ *
+ * @internal
+ */
+ enum EDontAdopt {
+ kDontAdopt
+ };
+
/**
* Constructor from a flattened set of RBBI data in malloced memory.
* RulesBasedBreakIterators built from a custom set of rules
*/
RuleBasedBreakIterator(RBBIDataHeader* data, UErrorCode &status);
+ /**
+ * Constructor from a flattened set of RBBI data in memory which need not
+ * be malloced (e.g. it may be a memory-mapped file, etc.).
+ *
+ * This version does not adopt the memory, and does not
+ * free it when done.
+ * @internal
+ */
+ RuleBasedBreakIterator(const RBBIDataHeader* data, enum EDontAdopt dontAdopt, UErrorCode &status);
+
friend class RBBIRuleBuilder;
/** @internal */
* @param status receives any error codes.
* @return The current UText for this break iterator. If an input
* UText was provided, it will always be returned.
- * @draft ICU 3.4
+ * @stable ICU 3.4
*/
virtual UText *getUText(UText *fillIn, UErrorCode &status) const;
*
* @param text The UText used to change the text.
* @param status Receives any error codes.
- * @draft ICU 3.4
+ * @stable ICU 3.4
*/
virtual void setText(UText *text, UErrorCode &status);