Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Header Files   Compound Members   File Members  

rbbi.h

This is the verbatim text of the rbbi.h include file.
/*
* Copyright © {1999}, International Business Machines Corporation and others. All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   10/22/99    alan        Creation.
*   11/11/99    rgillam     Complete port from Java.
**********************************************************************
*/

#ifndef RBBI_H
#define RBBI_H

#include "unicode/utypes.h"
#include "unicode/brkiter.h"

class RuleBasedBreakIteratorTables;
class BreakIterator;

class U_I18N_API RuleBasedBreakIterator : public BreakIterator {

public:
    static int8_t IGNORE;

private:
    static int16_t START_STATE;

    static int16_t STOP_STATE;

protected:
    CharacterIterator* text;

    RuleBasedBreakIteratorTables* tables;

private:
    static char fgClassID;
/*
 * HSYS: To be revisited, once the ctor are made public.
 */
 protected:
    //=======================================================================
    // constructors
    //=======================================================================
    
// This constructor uses the udata interface to create a BreakIterator whose
// internal tables live in a memory-mapped file.  "image" is a pointer to the
// beginning of that file.
RuleBasedBreakIterator(const void* image);

 public:
    RuleBasedBreakIterator(const RuleBasedBreakIterator& that);

    //=======================================================================
    // boilerplate
    //=======================================================================

    virtual ~RuleBasedBreakIterator();

    RuleBasedBreakIterator& operator=(const RuleBasedBreakIterator& that);

    virtual bool_t operator==(const BreakIterator& that) const;

    bool_t operator!=(const BreakIterator& that) const;

    virtual BreakIterator* clone(void) const;

    virtual int32_t hashCode(void) const;

    virtual const UnicodeString& getRules(void) const;

    //=======================================================================
    // BreakIterator overrides
    //=======================================================================

    virtual const CharacterIterator& getText(void) const;

    virtual CharacterIterator* createText(void) const;

    virtual void adoptText(CharacterIterator* newText);

    virtual void setText(const UnicodeString& newText);

    virtual void setText(const UnicodeString* newText);

    virtual int32_t first(void);

    virtual int32_t last(void);

    virtual int32_t next(int32_t n);

    virtual int32_t next(void);

    virtual int32_t previous(void);

    virtual int32_t following(int32_t offset);

    virtual int32_t preceding(int32_t offset);

    virtual bool_t isBoundary(int32_t offset);

    virtual int32_t current(void) const;

    inline virtual UClassID getDynamicClassID(void) const;

    inline static UClassID getStaticClassID(void);

protected:
    //=======================================================================
    // implementation
    //=======================================================================
    virtual int32_t handleNext(void);

    virtual int32_t handlePrevious(void);

    virtual void reset(void);

private:

    RuleBasedBreakIterator(RuleBasedBreakIteratorTables* tables);

    friend class BreakIterator;
};

inline bool_t RuleBasedBreakIterator::operator!=(const BreakIterator& that) const {
    return !operator==(that);
}

inline UClassID RuleBasedBreakIterator::getDynamicClassID(void) const {
    return RuleBasedBreakIterator::getStaticClassID();
}

inline UClassID RuleBasedBreakIterator::getStaticClassID(void) {
    return (UClassID)(&fgClassID);
}

#endif

Generated at Thu Feb 10 15:30:53 2000 for icu by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999