summaryrefslogtreecommitdiff
path: root/ace/RB_Tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'ace/RB_Tree.h')
-rw-r--r--ace/RB_Tree.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/ace/RB_Tree.h b/ace/RB_Tree.h
index f5e6dc84b12..e2ba71cee94 100644
--- a/ace/RB_Tree.h
+++ b/ace/RB_Tree.h
@@ -208,6 +208,7 @@ public:
/// Constructor.
ACE_RB_Tree (ACE_Allocator *alloc = 0);
+
/// Copy constructor.
ACE_RB_Tree (const ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &rbt);
@@ -361,10 +362,10 @@ public:
size_t current_size (void) const;
/// Assignment operator.
- void operator= (const ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &rbt);
-
- /// Less than comparison function for keys, using comparison functor.
- virtual int lessthan (const EXT_ID &k1, const EXT_ID &k2);
+ void operator= (const ACE_RB_Tree<EXT_ID,
+ INT_ID,
+ COMPARE_KEYS,
+ ACE_LOCK> &rbt);
/**
* Returns a reference to the underlying <ACE_LOCK>. This makes it
@@ -440,6 +441,14 @@ public:
void clear (void);
protected:
+ /// Reinitialize constructor.
+ /**
+ * This constructor is used to provide a valid vtable and allocator
+ * if the tree is reconstructed from shared memory. Constructor
+ * used by the derived class that has an allocator
+ */
+ ACE_RB_Tree (void *location,
+ ACE_Allocator *alloc);
// = Protected methods. These should only be called with locks held.
@@ -549,6 +558,9 @@ protected:
/// provide definitions for various EXT_ID and INT_ID types.
void dump_node_i (ACE_RB_Tree_Node<EXT_ID, INT_ID> &node) const;
+ /// Less than comparison function for keys, using comparison functor.
+ int lessthan (const EXT_ID &k1, const EXT_ID &k2);
+
private:
// = Private members.