]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/triedict.cpp
ICU-491.11.3.tar.gz
[apple/icu.git] / icuSources / common / triedict.cpp
index 0dbb566351ef676d2d533138f7770674c69d02d2..e905a40966e0b0bd62143602b2fee47c91cbe99b 100644 (file)
@@ -1,6 +1,6 @@
 /**
  *******************************************************************************
- * Copyright (C) 2006-2008, International Business Machines Corporation        *
+ * Copyright (C) 2006-2011, International Business Machines Corporation        *
  * and others. All Rights Reserved.                                            *
  *******************************************************************************
  */
@@ -249,10 +249,9 @@ public:
         fBranchStack.push(kLessThan, status);
         unistr.remove();
     }
-    
-    virtual ~MutableTrieEnumeration() {
-    }
-    
+
+    virtual ~MutableTrieEnumeration();
+
     virtual StringEnumeration *clone() const {
         UErrorCode status = U_ZERO_ERROR;
         return new MutableTrieEnumeration(fRoot, status);
@@ -276,7 +275,7 @@ public:
                     where = (StackBranch) fBranchStack.push(kLessThan, status);
                     break;
                 }
-            case kEqual:
+            case kEqual: /*fall through*/
                 emit = (node->flags & kEndsWord) != 0;
                 equal = (node->equal != NULL);
                 // If this node should be part of the next emitted string, append
@@ -297,7 +296,7 @@ public:
                 if (equal) {
                     break;
                 }
-            case kGreaterThan:
+            case kGreaterThan: /*fall through*/
                 // If this node's character is in the string, remove it.
                 if (node->equal != NULL || (node->flags & kEndsWord)) {
                     unistr.truncate(unistr.length()-1);
@@ -308,7 +307,7 @@ public:
                     where = (StackBranch) fBranchStack.push(kLessThan, status);
                     break;
                 }
-            case kDone:
+            case kDone: /*fall through*/
                 fNodeStack.pop();
                 fBranchStack.popi();
                 node = (TernaryNode *) fNodeStack.peek();
@@ -340,6 +339,8 @@ public:
     }
 };
 
+MutableTrieEnumeration::~MutableTrieEnumeration() {}
+
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(MutableTrieEnumeration)
 
 StringEnumeration *
@@ -558,10 +559,9 @@ public:
         fIndexStack.push(0, status);
         unistr.remove();
     }
-    
-    virtual ~CompactTrieEnumeration() {
-    }
-    
+
+    virtual ~CompactTrieEnumeration();
+
     virtual StringEnumeration *clone() const {
         UErrorCode status = U_ZERO_ERROR;
         return new CompactTrieEnumeration(fHeader, status);
@@ -588,6 +588,8 @@ public:
     }
 };
 
+CompactTrieEnumeration::~CompactTrieEnumeration() {}
+
 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CompactTrieEnumeration)
 
 const UnicodeString *
@@ -689,10 +691,9 @@ class BuildCompactTrieNode: public UMemory {
         fNodeID = nodes.size();
         nodes.push(this, status);
     }
-    
-    virtual ~BuildCompactTrieNode() {
-    }
-    
+
+    virtual ~BuildCompactTrieNode();
+
     virtual uint32_t size() {
         return sizeof(uint16_t);
     }
@@ -705,6 +706,8 @@ class BuildCompactTrieNode: public UMemory {
     }
 };
 
+BuildCompactTrieNode::~BuildCompactTrieNode() {}
+
 class BuildCompactTrieHorizontalNode: public BuildCompactTrieNode {
  public:
     UStack          fLinks;
@@ -713,10 +716,9 @@ class BuildCompactTrieHorizontalNode: public BuildCompactTrieNode {
     BuildCompactTrieHorizontalNode(UBool parentEndsWord, UStack &nodes, UErrorCode &status)
         : BuildCompactTrieNode(parentEndsWord, FALSE, nodes, status), fLinks(status) {
     }
-    
-    virtual ~BuildCompactTrieHorizontalNode() {
-    }
-    
+
+    virtual ~BuildCompactTrieHorizontalNode();
+
     virtual uint32_t size() {
         return offsetof(CompactTrieHorizontalNode,entries) +
                 (fChars.length()*sizeof(CompactTrieHorizontalEntry));
@@ -745,6 +747,8 @@ class BuildCompactTrieHorizontalNode: public BuildCompactTrieNode {
     }
 };
 
+BuildCompactTrieHorizontalNode::~BuildCompactTrieHorizontalNode() {}
+
 class BuildCompactTrieVerticalNode: public BuildCompactTrieNode {
  public:
     BuildCompactTrieNode    *fEqual;
@@ -754,10 +758,9 @@ class BuildCompactTrieVerticalNode: public BuildCompactTrieNode {
         : BuildCompactTrieNode(parentEndsWord, TRUE, nodes, status) {
         fEqual = NULL;
     }
-    
-    virtual ~BuildCompactTrieVerticalNode() {
-    }
-    
+
+    virtual ~BuildCompactTrieVerticalNode();
+
     virtual uint32_t size() {
         return offsetof(CompactTrieVerticalNode,chars) + (fChars.length()*sizeof(uint16_t));
     }
@@ -786,6 +789,8 @@ class BuildCompactTrieVerticalNode: public BuildCompactTrieNode {
     }
 };
 
+BuildCompactTrieVerticalNode::~BuildCompactTrieVerticalNode() {}
+
 // Forward declaration
 static void walkHorizontal(const TernaryNode *node,
                             BuildCompactTrieHorizontalNode *building,