diff options
author | James H. Hill <hilljh82@gmail.com> | 2008-01-14 04:45:44 +0000 |
---|---|---|
committer | James H. Hill <hilljh82@gmail.com> | 2008-01-14 04:45:44 +0000 |
commit | aece6d5044cbb5d4f5586c5cf679204cdba2842a (patch) | |
tree | 9527f39318795ec12975ee5a1a1b4334636cb319 | |
parent | 66fc98fb819a56b1a98ba5c9730dc68c17bc29e5 (diff) | |
download | ATCD-aece6d5044cbb5d4f5586c5cf679204cdba2842a.tar.gz |
Mon Jan 14 04:41:29 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu>
-rw-r--r-- | ACE/ChangeLog | 21 | ||||
-rw-r--r-- | ACE/ace/Hash_Map_Manager_T.h | 74 | ||||
-rw-r--r-- | ACE/ace/Hash_Map_Manager_T.inl | 96 | ||||
-rw-r--r-- | ACE/tests/Hash_Map_Manager_Test.cpp | 72 | ||||
-rw-r--r-- | ACE/tests/STL_algorithm_Test_T.cpp | 41 | ||||
-rw-r--r-- | ACE/tests/STL_algorithm_Test_T.h | 29 | ||||
-rw-r--r-- | ACE/tests/tests.mpc | 7 |
7 files changed, 254 insertions, 86 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog index dd1e421c208..d5479ff08f7 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,3 +1,24 @@ +Mon Jan 14 04:41:29 UTC 2008 James H. Hill <hillj@isis.vanderbilt.edu> + + * ace/Hash_Map_Manager_T.h: + * ace/Hash_Map_Manager_T.inl: + + Implemented the ACE_Hash_Map_Const_Reverse_Iterator_Ex class, + which is the const_reverse_iterator for the + ACE_Hash_Map_Manager_Ex class. + + * tests/Hash_Map_Manager_Test.cpp: + * tests/STL_algorithm_Test_T.h: + * tests/STL_algorithm_Test_T.cpp: + + Generalized the STL algorithm test used in the hash map + manager test so that it can be used with any ACE container. + + * tests/tests.mpc: + + Added the STL_algorithm_Test_T.* files to the + Hash_Map_Manager_Test project. + Sun Jan 13 16:40:12 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> * include/makeinclude/platform_sunos5_sunc++.GNU: diff --git a/ACE/ace/Hash_Map_Manager_T.h b/ACE/ace/Hash_Map_Manager_T.h index 9395ab0f140..b421cfddba0 100644 --- a/ACE/ace/Hash_Map_Manager_T.h +++ b/ACE/ace/Hash_Map_Manager_T.h @@ -96,6 +96,10 @@ class ACE_Hash_Map_Reverse_Iterator_Ex; // Forward decl. template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> +class ACE_Hash_Map_Const_Reverse_Iterator_Ex; + +// Forward decl. +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> class ACE_Hash_Map_Bucket_Iterator; // Forward decl. @@ -124,6 +128,7 @@ public: friend class ACE_Hash_Map_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>; friend class ACE_Hash_Map_Const_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>; friend class ACE_Hash_Map_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>; + friend class ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>; friend class ACE_Hash_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>; typedef EXT_ID @@ -149,6 +154,8 @@ public: const_iterator; typedef ACE_Hash_Map_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> reverse_iterator; + typedef ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> + const_reverse_iterator; // = STL-style typedefs/traits. typedef EXT_ID key_type; @@ -410,8 +417,8 @@ public: /// Return reverse iterator. reverse_iterator rbegin (void); reverse_iterator rend (void); -// const_reverse_iterator rbegin (void) const; -// const_reverse_iterator rend (void) const; + const_reverse_iterator rbegin (void) const; + const_reverse_iterator rend (void) const; protected: // = The following methods do the actual work. @@ -579,9 +586,9 @@ private: template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> class ACE_Hash_Map_Iterator_Base_Ex { -public: +public: // = STL-style typedefs/traits. - typedef ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> + typedef ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> container_type; // = std::iterator_traits typedefs/traits. @@ -895,7 +902,7 @@ class ACE_Hash_Map_Bucket_Iterator { public: // = STL-style traits/typedefs - typedef ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> + typedef ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> container_type; // = std::iterator traits/typedefs @@ -1016,6 +1023,63 @@ public: }; /** + * @class ACE_Hash_Map_Const_Reverse_Iterator_Ex + * + * @brief Const reverse iterator for the ACE_Hash_Map_Manager_Ex. + * + * This class does not perform any internal locking of the + * ACE_Hash_Map_Manager_Ex it is iterating upon since locking is + * inherently inefficient and/or error-prone within an STL-style + * iterator. If you require locking, you can explicitly use an + * ACE_Guard or ACE_Read_Guard on the ACE_Hash_Map_Manager_Ex's + * internal lock, which is accessible via its <mutex> method. + */ +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> +class ACE_Hash_Map_Const_Reverse_Iterator_Ex : public ACE_Hash_Map_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> +{ +public: + // = STL-style traits/typedefs + typedef typename ACE_Hash_Map_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::container_type + container_type; + + // = std::iterator_traits typedefs + typedef std::bidirectional_iterator_tag iterator_category; + typedef typename container_type::value_type value_type; + typedef typename container_type::reference reference; + typedef typename container_type::pointer pointer; + typedef typename container_type::difference_type difference_type; + + // = Initialization method. + ACE_Hash_Map_Const_Reverse_Iterator_Ex (const ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm, + int head = 0); + + // = Iteration methods. + /// Move forward by one element in the set. Returns 0 when all the + /// items in the set have been seen, else 1. + int advance (void); + + /// Dump the state of an object. + void dump (void) const; + + // = STL styled iteration, compare, and reference functions. + + /// Prefix reverse. + ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator++ (void); + + /// Postfix reverse. + ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator++ (int); + + /// Prefix advance. + ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &operator-- (void); + + /// Postfix advance. + ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> operator-- (int); + + /// Declare the dynamic allocation hooks. + ACE_ALLOC_HOOK_DECLARE; +}; + +/** * @class ACE_Hash_Map_Manager * * @brief Wrapper for backward compatibility. diff --git a/ACE/ace/Hash_Map_Manager_T.inl b/ACE/ace/Hash_Map_Manager_T.inl index 1174cd91c8b..1385ea3e5b2 100644 --- a/ACE/ace/Hash_Map_Manager_T.inl +++ b/ACE/ace/Hash_Map_Manager_T.inl @@ -415,19 +415,19 @@ ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rend return reverse_iterator (*this, 1); } -// template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE -// typename ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::const_reverse_iterator -// ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rbegin (void) const -// { -// return const_reverse_iterator (*this); -// } - -// template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE -// typename ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::const_reverse_iterator -// ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rend (void) const -// { -// return const_reverse_iterator (*this, 1); -// } + template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE + typename ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::const_reverse_iterator + ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rbegin (void) const + { + return const_reverse_iterator (*this); + } + + template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE + typename ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::const_reverse_iterator + ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::rend (void) const + { + return const_reverse_iterator (*this, 1); + } template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE ACE_Hash_Map_Entry<EXT_ID, INT_ID> * @@ -1072,6 +1072,76 @@ ACE_Hash_Map_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOC return retv; } +ACE_ALLOC_HOOK_DEFINE(ACE_Hash_Map_Const_Reverse_Iterator_Ex) + +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE void +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump (void) const +{ +#if defined (ACE_HAS_DUMP) + ACE_TRACE ("ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::dump"); + + this->dump_i (); +#endif /* ACE_HAS_DUMP */ +} + +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Map_Const_Reverse_Iterator_Ex (const ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &mm, int head) + : ACE_Hash_Map_Const_Iterator_Base_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> (mm, head) +{ + ACE_TRACE ("ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Map_Const_Reverse_Iterator_Ex"); + if (head == 0) + this->reverse_i (); +} + +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE int +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance (void) +{ + ACE_TRACE ("ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::advance"); + return this->reverse_i (); +} + +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> & +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void) +{ + ACE_TRACE ("ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (void)"); + + this->reverse_i (); + return *this; +} + +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int) +{ + ACE_TRACE ("ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)"); + + ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this); + ++*this; + return retv; +} + +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> & +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void) +{ + ACE_TRACE ("ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (void)"); + + this->forward_i (); + return *this; +} + +template <class EXT_ID, class INT_ID, class HASH_KEY, class COMPARE_KEYS, class ACE_LOCK> ACE_INLINE +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> +ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int) +{ + ACE_TRACE ("ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)"); + + ACE_Hash_Map_Const_Reverse_Iterator_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this); + --*this; + return retv; +} + template <class EXT_ID, class INT_ID, class ACE_LOCK> ACE_Hash_Map_Manager<EXT_ID, INT_ID, ACE_LOCK>::ACE_Hash_Map_Manager (ACE_Allocator *table_alloc, ACE_Allocator *entry_alloc) diff --git a/ACE/tests/Hash_Map_Manager_Test.cpp b/ACE/tests/Hash_Map_Manager_Test.cpp index 88ba123400a..b8e6fbab9db 100644 --- a/ACE/tests/Hash_Map_Manager_Test.cpp +++ b/ACE/tests/Hash_Map_Manager_Test.cpp @@ -21,10 +21,10 @@ // ============================================================================ #include "test_config.h" +#include "STL_algorithm_Test_T.h" #include "ace/Hash_Map_Manager.h" #include "ace/Malloc_T.h" #include "ace/Null_Mutex.h" -#include <algorithm> ACE_RCSID(tests, Hash_Map_Manager_Test, "$Id$") @@ -66,24 +66,6 @@ typedef ACE_Hash_Map_Reverse_Iterator_Ex<const ACE_TCHAR *, ACE_Equal_To<const ACE_TCHAR *>, ACE_Null_Mutex> HASH_STRING_REVERSE_ITER; - -struct Key_Equal_To -{ - Key_Equal_To (const ACE_TCHAR * key) - : key_ (key) - { - - } - - bool operator () (const HASH_STRING_MAP::value_type & entry) - { - return ACE_OS::strcmp (entry.ext_id_, this->key_) == 0; - } - - // Key of interest. - const ACE_TCHAR * key_; -}; - struct String_Table { const ACE_TCHAR *key_; @@ -211,52 +193,6 @@ print_value (const HASH_STRING_MAP::value_type & entry) entry.int_id_)); } -static int -test_STL_algorithm (void) -{ - // We are only validating that the container's iterators compile with - // the <algorithm> header. - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("starting STL algorithm test\n"))); - - // Initialize the hash map for the algorithm test(s). - HASH_STRING_MAP hash; - const HASH_STRING_MAP & chash = hash; - - for (size_t i = 0; string_table[i].key_ != 0; i ++) - { - if (hash.bind (string_table[i].key_, string_table[i].value_) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("%p failed for %s \n"), - ACE_TEXT ("bind"), - string_table[i].key_), - -1); - } - - // Test the (reverse_)iterator using std::for_each. - std::for_each (hash.begin (), hash.end (), &print_value); - std::for_each (chash.begin (), chash.end (), &print_value); - std::for_each (hash.rbegin (), hash.rend (), &print_value); - - // Test the find operation. Let's see if we can locate all the - // keys in the hash map using std::find_if function. - for (size_t i = 0; string_table[i].key_ != 0; i ++) - { - if (std::find_if (hash.begin (), - hash.end (), - Key_Equal_To (string_table[i].key_)) == hash.end ()) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("`%s' not found\n"), - string_table[i].key_), - -1); - } - - // We are finish with the STL algorithm test(s). - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("finished STL algorithm test\n"))); - return 0; -} - static int run_test (void) { @@ -394,7 +330,11 @@ run_test (void) test_two_allocators(); - test_STL_algorithm (); + // Run the STL algorithm test on the hash map. + const HASH_STRING_MAP & chash = hash; + + test_STL_algorithm (hash); + test_STL_algorithm (chash); return 0; } diff --git a/ACE/tests/STL_algorithm_Test_T.cpp b/ACE/tests/STL_algorithm_Test_T.cpp new file mode 100644 index 00000000000..f12c0aba93b --- /dev/null +++ b/ACE/tests/STL_algorithm_Test_T.cpp @@ -0,0 +1,41 @@ +// $Id$ + +#ifndef ACE_TESTS_STL_ALGORITHM_TEST_T_CPP +#define ACE_TESTS_STL_ALGORITHM_TEST_T_CPP + +#include "test_config.h" +#include <algorithm> +#include <typeinfo> + +template <typename ITEM> +static void +for_each_callback (ITEM & item) +{ + // do nothing; just testing compilation and execution + + ACE_DEBUG ((LM_DEBUG, + "algorithm test: for_each_callback\n")); +} + +template <typename T> +int test_STL_algorithm (T & container) +{ + // We are only validating that the container's iterators compile with + // the <algorithm> header. + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("running STL algorithm test for `%s'\n"), + typeid (T).name ())); + + // Test the (reverse) iterator using std::for_each. + std::for_each (container.begin (), + container.end (), + &for_each_callback <typename T::value_type>); + + std::for_each (container.rbegin (), + container.rend (), + &for_each_callback <typename T::value_type>); + + return 0; +} + +#endif /* ACE_TESTS_STL_ALGORITHM_TEST_T_CPP */ diff --git a/ACE/tests/STL_algorithm_Test_T.h b/ACE/tests/STL_algorithm_Test_T.h new file mode 100644 index 00000000000..1b045c12ba5 --- /dev/null +++ b/ACE/tests/STL_algorithm_Test_T.h @@ -0,0 +1,29 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file STL_algorithm_Test_T.h + * + * Test ACE containers compatibility with STL <algorithm> header. + * + * $Id$ + * + * @author James H. Hill <j.hill@vanderbilt.edu> + */ +//============================================================================= + +#ifndef ACE_TESTS_STL_ALGORITHM_TEST_T_H +#define ACE_TESTS_STL_ALGORITHM_TEST_T_H + +template <typename T> +int test_STL_algorithm (T & container); + +#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) +#include "STL_algorithm_Test_T.cpp" +#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ + +#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) +#pragma implementation ("STL_algorithm_Test_T.cpp") +#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ + +#endif /* ACE_TESTS_STL_ALGORITHM_TEST_T_H */ diff --git a/ACE/tests/tests.mpc b/ACE/tests/tests.mpc index b34f1987a54..e9e60e7f6cc 100644 --- a/ACE/tests/tests.mpc +++ b/ACE/tests/tests.mpc @@ -457,6 +457,9 @@ project(Hash Map Manager Test) : acetest { Source_Files { Hash_Map_Manager_Test.cpp } + Template_Files { + STL_algorithm_Test_T.cpp + } } project(Hash Multi Map Manager Test) : acetest { @@ -1411,7 +1414,7 @@ project(SOCK_Dgram_Bcast_Test) : acetest { avoids += ace_for_tao exename = SOCK_Dgram_Bcast_Test Source_Files { - SOCK_Dgram_Bcast_Test.cpp + SOCK_Dgram_Bcast_Test.cpp } } @@ -1419,7 +1422,7 @@ project(SOCK_SEQPACK_SCTP_Test) : acetest { avoids += ace_for_tao exename = SOCK_SEQPACK_SCTP_Test Source_Files { - SOCK_SEQPACK_SCTP_Test.cpp + SOCK_SEQPACK_SCTP_Test.cpp } } |