summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordjc2 <djc2@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-27 00:09:05 +0000
committerdjc2 <djc2@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-04-27 00:09:05 +0000
commit8b684a0a34746cb8fb57f7836557166a75f7b271 (patch)
tree01fc8c340d7fe9e37ccc0d55a56e91e3cde58752
parentfdb9c1c847aaf245364eac9a406ad06c96794e2b (diff)
downloadATCD-8b684a0a34746cb8fb57f7836557166a75f7b271.tar.gz
changelog tag:Apr 26 17:00:23 2002 Dante J. Cannarozzi <djc2@cs.wustl.edu>
-rw-r--r--ace/Containers_T.h167
-rw-r--r--ace/Hash_Map_Manager_T.h28
-rw-r--r--ace/RB_Tree.h24
-rw-r--r--ace/Unbounded_Queue.h23
-rw-r--r--ace/Unbounded_Set.h24
-rw-r--r--ace/Vector_T.h22
6 files changed, 288 insertions, 0 deletions
diff --git a/ace/Containers_T.h b/ace/Containers_T.h
index b8188793f71..18e971d5527 100644
--- a/ace/Containers_T.h
+++ b/ace/Containers_T.h
@@ -48,6 +48,29 @@ class ACE_Allocator;
* that is allocated dynamically. The Stack interface
* provides the standard constant time push, pop, and top
* operations.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Dynamic array
+ * - Duplicates allowed?
+ * Yes
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * N/A
+ * - Insert/replace speed
+ * N/A
+ * - Iterator still valid after change to container?
+ * N/A
+ * - Frees memory for removed elements?
+ * No
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ *
*/
template <class T>
class ACE_Bounded_Stack
@@ -156,6 +179,29 @@ private:
*
* This implementation of a Stack uses a fixed array
* with the size fixed at instantiation time.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Fixed array
+ * - Duplicates allowed?
+ * Yes
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * N/A
+ * - Insert/replace speed
+ * N/A
+ * - Iterator still valid after change to container?
+ * N/A
+ * - Frees memory for removed elements?
+ * No
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ *
*/
template <class T, size_t ACE_SIZE>
class ACE_Fixed_Stack
@@ -300,6 +346,29 @@ private:
* therefore, you should avoid the use of these methods since
* they aren't really part of the ADT stack. The stack is implemented
* as a doubly linked list.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Double linked list
+ * - Duplicates allowed?
+ * No
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * Linear
+ * - Insert/replace speed
+ * Linear
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * Yes
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ *
*/
template <class T>
class ACE_Unbounded_Stack
@@ -725,6 +794,29 @@ public:
* If you need a double linked container class, use the DLList
* class which is a container but delegates to the Double_Linked_List
* class.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Double Linked List
+ * - Duplicates allowed?
+ * Yes
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * N/A
+ * - Insert/replace speed
+ * Linear
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * No
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ *
*/
template <class T>
class ACE_Double_Linked_List
@@ -1203,6 +1295,30 @@ private:
* This implementation of an unordered set uses a fixed array.
* It does not allow duplicate members. The set provides linear insertion/deletion
* operations.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Fixed array
+ * - Duplicates allowed?
+ * No
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * Linear
+ * - Insert/replace speed
+ * Linear
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * No
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ * -# operator==
+ *
*/
template <class T, size_t ACE_SIZE>
class ACE_Fixed_Set
@@ -1371,6 +1487,30 @@ private:
* invalidate iterators, but caution should be taken to ensure
* expected behavior. Once initialized, the object has a maximum size
* which can only be increased by the assignment of another larger Bounded_Set.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Bounded array which can grow via assignment
+ * - Duplicates allowed?
+ * No
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * Linear
+ * - Insert/replace speed
+ * Linear
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * No
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ * -# operator==
+ *
*/
template <class T>
class ACE_Bounded_Set
@@ -1564,6 +1704,33 @@ private:
* operator semantics be defined for the parameterized type <T>, but
* does not impose any restriction on how that ordering operator is
* implemented. The set is implemented as a linked list.
+ *
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Double linked list
+ * - Duplicates allowed?
+ * Yes
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * Linear
+ * - Insert/replace speed
+ * Linear
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * Yes
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ * -# operator==
+ * -# operator<
+ *
+ *
*/
template <class T>
class ACE_Ordered_MultiSet
diff --git a/ace/Hash_Map_Manager_T.h b/ace/Hash_Map_Manager_T.h
index fa801bec7a3..08a3b281f41 100644
--- a/ace/Hash_Map_Manager_T.h
+++ b/ace/Hash_Map_Manager_T.h
@@ -812,6 +812,34 @@ public:
* these constraints can be alleviated via template
* specialization, as shown in the $ACE_ROOT/tests/Conn_Test.cpp
* test.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Hash Table
+ * - Duplicates allowed?
+ * No
+ * - Random access allowed?
+ * Yes
+ * - Search speed
+ * O(1)
+ * - Insert/replace speed
+ * O(1), can be longer if the hash map has to resize
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * Yes
+ * - Items inserted by
+ * Value
+ * - Requirements for key type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ * -# operator==
+ * - Requirements for object type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ * -# operator<
*/
template <class EXT_ID, class INT_ID, class ACE_LOCK>
class ACE_Hash_Map_Manager : public ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, ACE_Hash<EXT_ID>, ACE_Equal_To<EXT_ID>, ACE_LOCK>
diff --git a/ace/RB_Tree.h b/ace/RB_Tree.h
index c529df08b4f..a91b2d03409 100644
--- a/ace/RB_Tree.h
+++ b/ace/RB_Tree.h
@@ -136,6 +136,30 @@ public:
* This class uses an <ACE_Allocator> to allocate memory. The
* user can make this a persistent class by providing an
* <ACE_Allocator> with a persistable memory pool.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Binary tree
+ * - Duplicates allowed?
+ * No
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * Log(n)
+ * - Insert/replace speed
+ * Log(n)
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * Yes
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ * -# operator==
+ * -# operator<
*/
template <class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK>
class ACE_RB_Tree : public ACE_RB_Tree_Base
diff --git a/ace/Unbounded_Queue.h b/ace/Unbounded_Queue.h
index 52b378e43fc..e4a94b76c85 100644
--- a/ace/Unbounded_Queue.h
+++ b/ace/Unbounded_Queue.h
@@ -122,6 +122,29 @@ private:
*
* This implementation of an unbounded queue uses a circular
* linked list with a dummy node.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Circular linked list
+ * - Duplicates allowed?
+ * Yes
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * N/A
+ * - Insert/replace speed
+ * N/A
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * Yes
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ *
*/
template <class T>
class ACE_Unbounded_Queue
diff --git a/ace/Unbounded_Set.h b/ace/Unbounded_Set.h
index a5595214370..d4c882b6f5c 100644
--- a/ace/Unbounded_Set.h
+++ b/ace/Unbounded_Set.h
@@ -148,6 +148,30 @@ private:
* This implementation of an unordered set uses a circular
* linked list with a dummy node. This implementation does not
* allow duplicates, but it maintains FIFO ordering of insertions.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * Circular linked list
+ * - Duplicates allowed?
+ * No
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * Linear
+ * - Insert/replace speed
+ * Linear
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * Yes
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
+ * -# operator==
+ *
*/
template <class T>
class ACE_Unbounded_Set
diff --git a/ace/Vector_T.h b/ace/Vector_T.h
index 9f6097ee1ac..394b6e98b50 100644
--- a/ace/Vector_T.h
+++ b/ace/Vector_T.h
@@ -38,6 +38,28 @@ const size_t ACE_VECTOR_DEFAULT_SIZE = 32;
* class uses the copy semantic paradigm, though it is okay to use
* reference counted smart pointers (see ACE_Ptr&lt;T&gt;) with this
* template class.
+ *
+ * <b> Requirements and Performance Characteristics</b>
+ * - Internal Structure
+ * ACE_Array
+ * - Duplicates allowed?
+ * Yes
+ * - Random access allowed?
+ * No
+ * - Search speed
+ * N/A
+ * - Insert/replace speed
+ * Linear
+ * - Iterator still valid after change to container?
+ * Yes
+ * - Frees memory for removed elements?
+ * No
+ * - Items inserted by
+ * Value
+ * - Requirements for contained type
+ * -# Default constructor
+ * -# Copy constructor
+ * -# operator=
*/
template<class T, size_t DEFAULT_SIZE = ACE_VECTOR_DEFAULT_SIZE>
class ACE_Vector : public ACE_Array<T>