diff options
author | Steve Huston <shuston@riverace.com> | 2005-11-16 23:58:42 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2005-11-16 23:58:42 +0000 |
commit | 7b4f4c0709f053f17cfc36f5a7b05d24ed6a1146 (patch) | |
tree | 21a9c3d2cfca1d3407db4435ce8ec15583daea96 | |
parent | 2c47ffe0e6c0905555abf238cb1c13142e5d31a1 (diff) | |
download | ATCD-7b4f4c0709f053f17cfc36f5a7b05d24ed6a1146.tar.gz |
ChangeLogTag:Wed Nov 16 15:48:29 2005 Steve Huston <shuston@riverace.com>
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | ace/Hash_Map_Manager_T.h | 4 | ||||
-rw-r--r-- | protocols/ace/RMCast/Template_Instantiations.cpp | 57 |
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 |