summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2005-11-16 23:58:42 +0000
committerSteve Huston <shuston@riverace.com>2005-11-16 23:58:42 +0000
commit7b4f4c0709f053f17cfc36f5a7b05d24ed6a1146 (patch)
tree21a9c3d2cfca1d3407db4435ce8ec15583daea96
parent2c47ffe0e6c0905555abf238cb1c13142e5d31a1 (diff)
downloadATCD-7b4f4c0709f053f17cfc36f5a7b05d24ed6a1146.tar.gz
ChangeLogTag:Wed Nov 16 15:48:29 2005 Steve Huston <shuston@riverace.com>
-rw-r--r--ChangeLog13
-rw-r--r--ace/Hash_Map_Manager_T.h4
-rw-r--r--protocols/ace/RMCast/Template_Instantiations.cpp57
3 files changed, 71 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 414b0a3bd3b..b5c158efdc6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Wed Nov 16 15:48:29 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/Hash_Map_Manager_T.h: For Sun CC 5.4 and earlier with explicit
+ template instantiation, can't prevent seeing operator= or
+ ACE_Hash_Map_Manager explicit templates won't compile. Ick.
+
+ * apps/JAWS3/jaws3/Templates.cpp: Adjusted ACE_Reactor_Token_T type
+ usage. Follow-up change to match those in:
+ Fri Aug 26 18:01:31 2005 Steve Huston <shuston@riverace.com>
+
+ * protocols/ace/RMCast/Template_Instantiations.cpp: Added more needed
+ instantiations.
+
Wed Nov 16 14:12:08 USMST 2005 Yan Dai <dai_y@ociweb.com>
* bin/tao_orb_tests.lst:
diff --git a/ace/Hash_Map_Manager_T.h b/ace/Hash_Map_Manager_T.h
index 476a44ca1e9..72c487a5d60 100644
--- a/ace/Hash_Map_Manager_T.h
+++ b/ace/Hash_Map_Manager_T.h
@@ -473,8 +473,8 @@ private:
// = Disallow these operations.
// Hack alert... Sun C++ 5.4 can't hack explicit templates with this
// in place. Please remove this when taking out explicit templates.
-#if defined (__SUNPRO_CC) && (__SUNPRO_CC <= 0x540) && \
- !defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+#if !(defined (__SUNPRO_CC) && (__SUNPRO_CC <= 0x540) && \
+ defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION))
ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Hash_Map_Manager_Ex<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> &))
#endif /* __SUNPRO_CC <= 0x540 && !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/protocols/ace/RMCast/Template_Instantiations.cpp b/protocols/ace/RMCast/Template_Instantiations.cpp
index 0e536969dec..06deadb99a6 100644
--- a/protocols/ace/RMCast/Template_Instantiations.cpp
+++ b/protocols/ace/RMCast/Template_Instantiations.cpp
@@ -6,20 +6,75 @@
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \
defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# include "ace/Array_Base.h"
+# include "ace/Condition_T.h"
+# include "ace/Functor_T.h"
# include "ace/Hash_Map_Manager.h"
+# include "ace/INET_Addr.h"
+# include "ace/Refcounted_Auto_Ptr.h"
+# include "ace/Thread_Mutex.h"
+# include "ace/Unbounded_Queue.h"
+# include "ace/Vector_T.h"
+
# include "Acknowledge.h"
+# include "Protocol.h"
+# include "Retransmit.h"
#endif
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Array_Base<unsigned long>;
+template class ACE_Array_Base<ACE_Refcounted_Auto_Ptr<ACE_RMCast::Message, ACE_Null_Mutex> >;
+template class ACE_Condition<ACE_Thread_Mutex>;
+template class ACE_Equal_To<ACE_INET_Addr>;
+template class ACE_Hash_Map_Const_Iterator_Base_Ex<ACE_INET_Addr, unsigned long, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Base_Ex<ACE_INET_Addr, ACE_RMCast::Acknowledge::Queue, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Base_Ex<unsigned long, ACE_RMCast::Retransmit::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Entry<unsigned long, ACE_RMCast::Acknowledge::Descr>;
template class ACE_Hash_Map_Manager<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager<unsigned long, ACE_RMCast::Retransmit::Descr, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, ACE_Refcounted_Auto_Ptr<ACE_RMCast::Data, ACE_Thread_Mutex>, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, ACE_RMCast::Acknowledge::Queue, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, unsigned long, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
template class ACE_Hash_Map_Manager_Ex<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager_Ex<unsigned long, ACE_RMCast::Retransmit::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager_Ex<unsigned short, ACE_Refcounted_Auto_Ptr<ACE_RMCast::Profile, ACE_Thread_Mutex>, ACE_Hash<unsigned short>, ACE_Equal_To<unsigned short>, ACE_Null_Mutex>;
+template class ACE_Refcounted_Auto_Ptr<ACE_RMCast::Data, ACE_Thread_Mutex>;
+template class ACE_Refcounted_Auto_Ptr<ACE_RMCast::Message, ACE_Null_Mutex>;
+template class ACE_Refcounted_Auto_Ptr<ACE_RMCast::NAK, ACE_Thread_Mutex>;
+template class ACE_Refcounted_Auto_Ptr<ACE_RMCast::NRTM, ACE_Thread_Mutex>;
+template class ACE_Unbounded_Queue<ACE_Refcounted_Auto_Ptr<ACE_RMCast::Message, ACE_Null_Mutex> >;
+template class ACE_Vector<ACE_Refcounted_Auto_Ptr<ACE_RMCast::Message, ACE_Null_Mutex> >;
+template class ACE_Vector<unsigned long>;
+template class ACE_Vector_Iterator<unsigned char>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+# pragma instantiate class ACE_Array_Base<unsigned long>
+# pragma instantiate class ACE_Array_Base<ACE_Refcounted_Auto_Ptr<ACE_RMCast::Message, ACE_Null_Mutex> >
+# pragma instantiate class ACE_Condition<ACE_Thread_Mutex>
+# pragma instantiate class ACE_Equal_To<ACE_INET_Addr>
+# pragma instantiate class ACE_Hash_Map_Const_Iterator_Base_Ex<ACE_INET_Addr, unsigned long, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Iterator_Base_Ex<ACE_INET_Addr, ACE_RMCast::Acknowledge::Queue, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Iterator_Base_Ex<unsigned long, ACE_RMCast::Retransmit::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Entry<unsigned long, ACE_RMCast::Acknowledge::Descr>
# pragma instantiate class ACE_Hash_Map_Manager<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Null_Mutex>
-# pragma instantiate ACE_Hash_Map_Manager_Ex<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Manager<unsigned long, ACE_RMCast::Retransmit::Descr, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, ACE_Refcounted_Auto_Ptr<ACE_RMCast::Data, ACE_Thread_Mutex>, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, ACE_RMCast::Acknowledge::Queue, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, unsigned long, ACE_RMCast::AddressHasher, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Manager_Ex<unsigned long, ACE_RMCast::Acknowledge::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Manager_Ex<unsigned long, ACE_RMCast::Retransmit::Descr, ACE_Hash<unsigned long>, ACE_Equal_To<unsigned long>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Hash_Map_Manager_Ex<unsigned short, ACE_Refcounted_Auto_Ptr<ACE_RMCast::Profile, ACE_Thread_Mutex>, ACE_Hash<unsigned short>, ACE_Equal_To<unsigned short>, ACE_Null_Mutex>
+# pragma instantiate class ACE_Refcounted_Auto_Ptr<ACE_RMCast::Data, ACE_Thread_Mutex>
+# pragma instantiate class ACE_Refcounted_Auto_Ptr<ACE_RMCast::Message, ACE_Null_Mutex>
+# pragma instantiate class ACE_Refcounted_Auto_Ptr<ACE_RMCast::NAK, ACE_Thread_Mutex>
+# pragma instantiate class ACE_Refcounted_Auto_Ptr<ACE_RMCast::NRTM, ACE_Thread_Mutex>
+# pragma instantiate class ACE_Unbounded_Queue<ACE_Refcounted_Auto_Ptr<ACE_RMCast::Message, ACE_Null_Mutex> >
+# pragma instantiate class ACE_Vector<ACE_Refcounted_Auto_Ptr<ACE_RMCast::Message, ACE_Null_Mutex> >
+# pragma instantiate class ACE_Vector<unsigned long>
+# pragma instantiate class ACE_Vector_Iterator<unsigned char>
#elif defined (__HP_aCC)
// Make aC++ stop complaining about an empty translation unit