| Index: source/i18n/identifier_info.h
|
| diff --git a/source/i18n/identifier_info.h b/source/i18n/identifier_info.h
|
| deleted file mode 100644
|
| index ab0b8b23a8501d37051f2cd99ef869ed9c295b43..0000000000000000000000000000000000000000
|
| --- a/source/i18n/identifier_info.h
|
| +++ /dev/null
|
| @@ -1,190 +0,0 @@
|
| -/*
|
| -**********************************************************************
|
| -* Copyright (C) 2014, International Business Machines
|
| -* Corporation and others. All Rights Reserved.
|
| -**********************************************************************
|
| -*
|
| -* indentifier_info.h
|
| -*
|
| -* created on: 2013 Jan 7
|
| -* created by: Andy Heninger
|
| -*/
|
| -
|
| -#ifndef __IDENTIFIER_INFO_H__
|
| -#define __IDENTIFIER_INFO_H__
|
| -
|
| -#include "unicode/utypes.h"
|
| -
|
| -#include "unicode/uniset.h"
|
| -#include "unicode/uspoof.h"
|
| -#include "uhash.h"
|
| -
|
| -U_NAMESPACE_BEGIN
|
| -
|
| -class ScriptSet;
|
| -
|
| -// TODO(andy): review consistency of reference vs pointer arguments to the funcions.
|
| -
|
| -/**
|
| - * This class analyzes a possible identifier for script and identifier status. Use it by calling setIdentifierProfile
|
| - * then setIdentifier. Available methods include:
|
| - * <ol>
|
| - * <li>call getScripts for the specific scripts in the identifier. The identifier contains at least one character in
|
| - * each of these.
|
| - * <li>call getAlternates to get cases where a character is not limited to a single script. For example, it could be
|
| - * either Katakana or Hiragana.
|
| - * <li>call getCommonAmongAlternates to find out if any scripts are common to all the alternates.
|
| - * <li>call getNumerics to get a representative character (with value zero) for each of the decimal number systems in
|
| - * the identifier.
|
| - * <li>call getRestrictionLevel to see what the UTS36 restriction level is.
|
| - * </ol>
|
| - *
|
| - * This is a port from ICU4J of class com.ibm.icu.text.IdentifierInfo
|
| - */
|
| -class U_I18N_API IdentifierInfo : public UMemory {
|
| -
|
| - public:
|
| - /**
|
| - * Create an identifier info object. Subsequently, call setIdentifier(), etc.
|
| - * @internal
|
| - */
|
| - IdentifierInfo(UErrorCode &status);
|
| -
|
| - /**
|
| - * Destructor
|
| - */
|
| - virtual ~IdentifierInfo();
|
| -
|
| - private:
|
| - /* Disallow copying for now. Can be added if there's a need. */
|
| - IdentifierInfo(const IdentifierInfo &other);
|
| -
|
| - public:
|
| -
|
| - /**
|
| - * Set the identifier profile: the characters that are to be allowed in the identifier.
|
| - *
|
| - * @param identifierProfile the characters that are to be allowed in the identifier
|
| - * @return this
|
| - * @internal
|
| - */
|
| - IdentifierInfo &setIdentifierProfile(const UnicodeSet &identifierProfile);
|
| -
|
| - /**
|
| - * Get the identifier profile: the characters that are to be allowed in the identifier.
|
| - *
|
| - * @return The characters that are to be allowed in the identifier.
|
| - * @internal
|
| - */
|
| - const UnicodeSet &getIdentifierProfile() const;
|
| -
|
| -
|
| - /**
|
| - * Set an identifier to analyze. Afterwards, call methods like getScripts()
|
| - *
|
| - * @param identifier the identifier to analyze
|
| - * @param status Errorcode, set if errors occur.
|
| - * @return this
|
| - * @internal
|
| - */
|
| - IdentifierInfo &setIdentifier(const UnicodeString &identifier, UErrorCode &status);
|
| -
|
| -
|
| - /**
|
| - * Get the identifier that was analyzed. The returned string is owned by the ICU library,
|
| - * and must not be deleted by the caller.
|
| - *
|
| - * @return the identifier that was analyzed.
|
| - * @internal
|
| - */
|
| - const UnicodeString *getIdentifier() const;
|
| -
|
| -
|
| - /**
|
| - * Get the scripts found in the identifiers.
|
| - *
|
| - * @return the set of explicit scripts.
|
| - * @internal
|
| - */
|
| - const ScriptSet *getScripts() const;
|
| -
|
| - /**
|
| - * Get the set of alternate scripts found in the identifiers. That is, when a character can be in two scripts, then
|
| - * the set consisting of those scripts will be returned.
|
| - *
|
| - * @return a uhash, with each key being of type (ScriptSet *).
|
| - * This is a set, not a map, so the value stored in the uhash is not relevant.
|
| - * (It is, in fact, 1).
|
| - * Ownership of the uhash and its contents remains with the IndetifierInfo object,
|
| - * and remains valid until a new identifer is set or until the object is deleted.
|
| - * @internal
|
| - */
|
| - const UHashtable *getAlternates() const;
|
| -
|
| - /**
|
| - * Get the representative characters (zeros) for the numerics found in the identifier.
|
| - *
|
| - * @return the set of explicit scripts.
|
| - * @internal
|
| - */
|
| - const UnicodeSet *getNumerics() const;
|
| -
|
| - /**
|
| - * Find out which scripts are in common among the alternates.
|
| - *
|
| - * @return the set of scripts that are in common among the alternates.
|
| - * @internal
|
| - */
|
| - const ScriptSet *getCommonAmongAlternates() const;
|
| -
|
| - /**
|
| - * Get the number of scripts appearing in the identifier.
|
| - * Note: Common and Inherited scripts are omitted from the count.
|
| - * Note: Result may be high when the identifier contains characters
|
| - * with alternate scripts. The distinction between
|
| - * 0, 1 and > 1 will remain valid, however.
|
| - * @return the number of scripts.
|
| - */
|
| - int32_t getScriptCount() const;
|
| -
|
| -#if !UCONFIG_NO_NORMALIZATION
|
| -
|
| - /**
|
| - * Find the "tightest" restriction level that the identifier satisfies.
|
| - *
|
| - * @return the restriction level.
|
| - * @internal
|
| - */
|
| - URestrictionLevel getRestrictionLevel(UErrorCode &status) const;
|
| -
|
| -#endif /*!UCONFIG_NO_NORMALIZATION */
|
| -
|
| - UnicodeString toString() const;
|
| -
|
| - /**
|
| - * Produce a readable string of alternates.
|
| - *
|
| - * @param alternates a UHashtable of UScriptSets.
|
| - * Keys only, no meaningful values in the UHash.
|
| - * @return display form
|
| - * @internal
|
| - */
|
| - static UnicodeString &displayAlternates(UnicodeString &dest, const UHashtable *alternates, UErrorCode &status);
|
| -
|
| - private:
|
| -
|
| - IdentifierInfo & clear();
|
| - UBool containsWithAlternates(const ScriptSet &container, const ScriptSet &containee) const;
|
| -
|
| - UnicodeString *fIdentifier;
|
| - ScriptSet *fRequiredScripts;
|
| - UHashtable *fScriptSetSet;
|
| - ScriptSet *fCommonAmongAlternates;
|
| - UnicodeSet *fNumerics;
|
| - UnicodeSet *fIdentifierProfile;
|
| -};
|
| -
|
| -U_NAMESPACE_END
|
| -
|
| -#endif // __IDENTIFIER_INFO_H__
|
| -
|
|
|