diff options
author | djc2 <djc2@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-04-27 00:09:05 +0000 |
---|---|---|
committer | djc2 <djc2@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-04-27 00:09:05 +0000 |
commit | 8b684a0a34746cb8fb57f7836557166a75f7b271 (patch) | |
tree | 01fc8c340d7fe9e37ccc0d55a56e91e3cde58752 | |
parent | fdb9c1c847aaf245364eac9a406ad06c96794e2b (diff) | |
download | ATCD-8b684a0a34746cb8fb57f7836557166a75f7b271.tar.gz |
changelog tag:Apr 26 17:00:23 2002 Dante J. Cannarozzi <djc2@cs.wustl.edu>
-rw-r--r-- | ace/Containers_T.h | 167 | ||||
-rw-r--r-- | ace/Hash_Map_Manager_T.h | 28 | ||||
-rw-r--r-- | ace/RB_Tree.h | 24 | ||||
-rw-r--r-- | ace/Unbounded_Queue.h | 23 | ||||
-rw-r--r-- | ace/Unbounded_Set.h | 24 | ||||
-rw-r--r-- | ace/Vector_T.h | 22 |
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<T>) 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> |