X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/4388f060552cc537e71e957d32f35e9d75a61233..b801cf366c7671a99bdcef84d1e9c0ec64b36723:/icuSources/common/unicode/stringtriebuilder.h?ds=inline diff --git a/icuSources/common/unicode/stringtriebuilder.h b/icuSources/common/unicode/stringtriebuilder.h index b35ac4b0..04447e54 100644 --- a/icuSources/common/unicode/stringtriebuilder.h +++ b/icuSources/common/unicode/stringtriebuilder.h @@ -1,6 +1,6 @@ /* ******************************************************************************* -* Copyright (C) 2010-2012, International Business Machines +* Copyright (C) 2010-2012,2014, International Business Machines * Corporation and others. All Rights Reserved. ******************************************************************************* * file name: stringtriebuilder.h @@ -18,6 +18,11 @@ #include "unicode/utypes.h" #include "unicode/uobject.h" +/** + * \file + * \brief C++ API: Builder API for trie builders + */ + // Forward declaration. struct UHashtable; typedef struct UHashtable UHashtable; @@ -157,6 +162,7 @@ protected: * @internal */ Node *registerFinalValue(int32_t value, UErrorCode &errorCode); +#endif /* U_HIDE_INTERNAL_API */ /* * C++ note: @@ -178,6 +184,7 @@ protected: /** @internal */ UHashtable *nodes; +#ifndef U_HIDE_INTERNAL_API /** @internal */ class Node : public UObject { public: @@ -234,9 +241,6 @@ protected: protected: int32_t hash; int32_t offset; - private: - // No ICU "poor man's RTTI" for this class nor its subclasses. - virtual UClassID getDynamicClassID() const; }; // This class should not be overridden because @@ -255,7 +259,9 @@ protected: int32_t value; }; - /** @internal */ + /** + * @internal + */ class ValueNode : public Node { public: ValueNode(int32_t initialHash) : Node(initialHash), hasValue(FALSE), value(0) {} @@ -270,7 +276,9 @@ protected: int32_t value; }; - /** @internal */ + /** + * @internal + */ class IntermediateValueNode : public ValueNode { public: IntermediateValueNode(int32_t v, Node *nextNode) @@ -282,7 +290,9 @@ protected: Node *next; }; - /** @internal */ + /** + * @internal + */ class LinearMatchNode : public ValueNode { public: LinearMatchNode(int32_t len, Node *nextNode) @@ -295,7 +305,9 @@ protected: Node *next; }; - /** @internal */ + /** + * @internal + */ class BranchNode : public Node { public: BranchNode(int32_t initialHash) : Node(initialHash) {} @@ -303,7 +315,9 @@ protected: int32_t firstEdgeNumber; }; - /** @internal */ + /** + * @internal + */ class ListBranchNode : public BranchNode { public: ListBranchNode() : BranchNode(0x444444), length(0) {} @@ -333,7 +347,9 @@ protected: UChar units[kMaxBranchLinearSubNodeLength]; }; - /** @internal */ + /** + * @internal + */ class SplitBranchNode : public BranchNode { public: SplitBranchNode(UChar middleUnit, Node *lessThanNode, Node *greaterOrEqualNode) @@ -379,10 +395,6 @@ protected: virtual int32_t writeValueAndType(UBool hasValue, int32_t value, int32_t node) = 0; /** @internal */ virtual int32_t writeDeltaTo(int32_t jumpTarget) = 0; - -private: - // No ICU "poor man's RTTI" for this class nor its subclasses. - virtual UClassID getDynamicClassID() const; }; U_NAMESPACE_END