Boost logo

Boost :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2008-06-09 05:52:26


Hello,

attached patch contains a fix for Tru64/CXX, which somehow seems to have
troubles with the following code in the class associative_ptr_container:

         using base_type::begin;
         using base_type::end;
         using base_type::cbegin;
         using base_type::cend;

It looks like the compiler doesn't consider these using declarations when
performing overload resolution for one of these methods.

The fix is easy, it simply adds inline definitions for these methods.

Can this patch please be applied?

Regards,
Markus

Index: detail/associative_ptr_container.hpp
===================================================================
--- detail/associative_ptr_container.hpp (revision 46270)
+++ detail/associative_ptr_container.hpp (working copy)
@@ -18,6 +18,7 @@
 #endif
 
 #include <boost/ptr_container/detail/reversible_ptr_container.hpp>
+#include <boost/detail/workaround.hpp>
 
 namespace boost
 {
@@ -347,10 +348,42 @@
         }
 
     public:
+#if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(70190006))
+ iterator begin()
+ {
+ return base_type::begin();
+ }
+
+ const_iterator begin() const
+ {
+ return base_type::begin();
+ }
+
+ iterator end()
+ {
+ return base_type::end();
+ }
+
+ const_iterator end() const
+ {
+ return base_type::end();
+ }
+
+ const_iterator cbegin() const
+ {
+ return base_type::cbegin();
+ }
+
+ const_iterator cend() const
+ {
+ return base_type::cend();
+ }
+#else
         using base_type::begin;
         using base_type::end;
         using base_type::cbegin;
         using base_type::cend;
+#endif
 
     protected:
         local_iterator begin( size_type n )


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk