// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /** ******************************************************************************* * Copyright (C) 2006-2014, International Business Machines Corporation * * and others. All Rights Reserved. * ******************************************************************************* */ #ifndef DICTBE_H #define DICTBE_H #include "unicode/utypes.h" #include "unicode/uniset.h" #include "unicode/utext.h" #include "brkeng.h" #include "hash.h" #include "mlbe.h" #include "uvectr32.h" U_NAMESPACE_BEGIN class DictionaryMatcher; class MlBreakEngine; class Normalizer2; /******************************************************************* * DictionaryBreakEngine */ /** * <p>DictionaryBreakEngine is a kind of LanguageBreakEngine that uses a * dictionary to determine language-specific breaks.</p> * * <p>After it is constructed a DictionaryBreakEngine may be shared between * threads without synchronization.</p> */ class DictionaryBreakEngine : public LanguageBreakEngine { … }; /******************************************************************* * ThaiBreakEngine */ /** * <p>ThaiBreakEngine is a kind of DictionaryBreakEngine that uses a * dictionary and heuristics to determine Thai-specific breaks.</p> * * <p>After it is constructed a ThaiBreakEngine may be shared between * threads without synchronization.</p> */ class ThaiBreakEngine : public DictionaryBreakEngine { … }; /******************************************************************* * LaoBreakEngine */ /** * <p>LaoBreakEngine is a kind of DictionaryBreakEngine that uses a * dictionary and heuristics to determine Lao-specific breaks.</p> * * <p>After it is constructed a LaoBreakEngine may be shared between * threads without synchronization.</p> */ class LaoBreakEngine : public DictionaryBreakEngine { … }; /******************************************************************* * BurmeseBreakEngine */ /** * <p>BurmeseBreakEngine is a kind of DictionaryBreakEngine that uses a * DictionaryMatcher and heuristics to determine Burmese-specific breaks.</p> * * <p>After it is constructed a BurmeseBreakEngine may be shared between * threads without synchronization.</p> */ class BurmeseBreakEngine : public DictionaryBreakEngine { … }; /******************************************************************* * KhmerBreakEngine */ /** * <p>KhmerBreakEngine is a kind of DictionaryBreakEngine that uses a * DictionaryMatcher and heuristics to determine Khmer-specific breaks.</p> * * <p>After it is constructed a KhmerBreakEngine may be shared between * threads without synchronization.</p> */ class KhmerBreakEngine : public DictionaryBreakEngine { … }; #if !UCONFIG_NO_NORMALIZATION /******************************************************************* * CjkBreakEngine */ //indicates language/script that the CjkBreakEngine will handle enum LanguageType { … }; /** * <p>CjkBreakEngine is a kind of DictionaryBreakEngine that uses a * dictionary with costs associated with each word and * Viterbi decoding to determine CJK-specific breaks.</p> */ class CjkBreakEngine : public DictionaryBreakEngine { … }; #endif U_NAMESPACE_END /* DICTBE_H */ #endif