]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/unicode/stringtriebuilder.h
ICU-551.30.tar.gz
[apple/icu.git] / icuSources / common / unicode / stringtriebuilder.h
index b35ac4b08d47dedeecd5d7a238dc99a3d8898f91..04447e543713d1ac9b5c93657fa15073ca436ca2 100644 (file)
@@ -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
 #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