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

cpdtrans.h

This is the verbatim text of the cpdtrans.h include file.
/*
**********************************************************************
*   Copyright (C) 1999, International Business Machines
*   Corporation and others.  All Rights Reserved.
**********************************************************************
*   Date        Name        Description
*   11/17/99    aliu        Creation.
**********************************************************************
*/
#ifndef CPDTRANS_H
#define CPDTRANS_H

#include "unicode/translit.h"

class U_I18N_API CompoundTransliterator : public Transliterator {

    Transliterator** trans;

    UnicodeFilter** filters;

    int32_t count;

public:

    CompoundTransliterator(Transliterator* const transliterators[],
                           int32_t count,
                           UnicodeFilter* adoptedFilter = 0);

    CompoundTransliterator(const UnicodeString& ID,
                           UTransDirection dir,
                           UnicodeFilter* adoptedFilter,
                           UErrorCode& status);

    CompoundTransliterator(const UnicodeString& ID,
                           UErrorCode& status);

    virtual ~CompoundTransliterator();

    CompoundTransliterator(const CompoundTransliterator&);

    CompoundTransliterator& operator=(const CompoundTransliterator&);

    Transliterator* clone(void) const;

    virtual int32_t getCount(void) const;

    virtual const Transliterator& getTransliterator(int32_t index) const;

    void setTransliterators(Transliterator* const transliterators[],
                            int32_t count);

    void adoptTransliterators(Transliterator* adoptedTransliterators[],
                              int32_t count);

    virtual void adoptFilter(UnicodeFilter* f);

    virtual void handleTransliterate(Replaceable& text, UTransPosition& index,
                                     UBool incremental) const;

private:

    void init(const UnicodeString& ID,
              UTransDirection dir,
              UnicodeFilter* adoptedFilter,
              UErrorCode& status);

    UnicodeString joinIDs(Transliterator* const transliterators[],
                          int32_t count);

    UnicodeString* split(const UnicodeString& s,
                         UChar divider,
                         int32_t& count);

    void freeTransliterators(void);

    void computeMaximumContextLength(void);
};
#endif

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