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

dbbi.h

This is the verbatim text of the dbbi.h include file.
/*
**********************************************************************
*   Copyright (C) 1999-2000 IBM Corp. All rights reserved.
**********************************************************************
*   Date        Name        Description
*   12/1/99    rgillam     Complete port from Java.
*   01/13/2000 helena      Added UErrorCode to ctors.
**********************************************************************
*/

#ifndef DBBI_H
#define DBBI_H

#include "unicode/rbbi.h"

/* forward declaration */
class DictionaryBasedBreakIteratorTables;

class U_I18N_API DictionaryBasedBreakIterator : public RuleBasedBreakIterator {

private:
    int32_t dictionaryCharCount;

    int32_t* cachedBreakPositions;

    int32_t numCachedBreakPositions;

    int32_t positionInCache;

    static char fgClassID;

public:
 private:
    DictionaryBasedBreakIterator(UDataMemory* tablesImage, char* dictionaryFilename, UErrorCode& status);
 public:
    //=======================================================================
    // boilerplate
    //=======================================================================

    virtual ~DictionaryBasedBreakIterator();

    DictionaryBasedBreakIterator& operator=(const DictionaryBasedBreakIterator& that);

    virtual BreakIterator* clone(void) const;

    //=======================================================================
    // BreakIterator overrides
    //=======================================================================
    virtual int32_t previous(void);

    virtual int32_t following(int32_t offset);

    virtual int32_t preceding(int32_t offset);

    virtual UClassID getDynamicClassID(void) const;

    static UClassID getStaticClassID(void);

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

    virtual void reset(void);

private:
    void divideUpDictionaryRange(int32_t startPos, int32_t endPos);

    void bumpDictionaryCharCount(void);

    /*
     * HSYS : Please revisit with Rich, the ctors of the DBBI class is currently
     * marked as private.
     */
    friend class DictionaryBasedBreakIteratorTables;
    friend class BreakIterator;
};

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

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

inline void DictionaryBasedBreakIterator::bumpDictionaryCharCount(void) {
    ++dictionaryCharCount;
}

#endif

Generated at Wed Aug 16 16:05:44 2000 for ICU1.6 by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999