Boost logo

Boost :

From: Gennadiy E. Rozental (rogeeff_at_[hidden])
Date: 2001-09-07 10:48:55


Hi,

I propose following change in iterator_adaptors.hpp to be able to
compile it with Solaris Forte C++ 6 u.1

Gennadiy.

cvs diff iterator_adaptors.hpp
Index: iterator_adaptors.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/iterator_adaptors.hpp,v
retrieving revision 1.44
diff -r1.44 iterator_adaptors.hpp
366,371c366,370
< typedef typename boost::detail::if_true<(is_input_iter)
>::template
< then<
< proxy,
< // else
< Pointer
< >::type type;

---
>       typedef typename boost::detail::if_true<
> 			is_input_iter,
> 			proxy,
> 			Pointer
> 	  >::type type;
375c374
< # ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
---
> # if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && (!defined
(__SUNPRO_CC) || __SUNPRO_CC < 0x510)
416c415
< # else
---
> # else // not BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
423,424c422
<                ::boost::is_same<Value,typename 
iterator_traits<Iterator>::value_type>::value
<            )>::template then<
---
>                ::boost::is_same<Value,typename 
iterator_traits<Iterator>::value_type>::value),
430,433c428,430
<                ::boost::is_same<Value,typename 
iterator_traits<Iterator>::value_type>::value
<            )>::template then<
<                 typename iterator_traits<Iterator>::reference,
<                 Value&
---
>                ::boost::is_same<Value,typename 
iterator_traits<Iterator>::value_type>::value),
>                	typename iterator_traits<Iterator>::reference,
>                	Value&
513a511
>   public:
530c528
<   public:
---
> 
594c592
<     
detail::iterator_adaptor_traits_gen<Base,Value,Reference,Pointer,Categ
ory,Distance>::type
---
>     public 
detail::iterator_adaptor_traits_gen<Base,Value,Reference,Pointer,Categ
ory,Distance>::type
625c623
< #if !defined(BOOST_MSVC)
---
> #if !defined(BOOST_MSVC) && !defined(__SUNPRO_CC)
856a855
> #ifndef __SUPRO_CC
865a865
> #endif
920c920
<           , class ConstReference = const Value&
---
>           , class ConstReference = Value const&
923c923
<           , class ConstPointer = const Value*
---
>           , class ConstPointer = Value const*
933c933
< #ifndef BOOST_MSVC
---
> #if !defined(BOOST_MSVC) && !defined(__SUNPRO_CC)
991a992
> #ifndef __SUNPRO_CC
998a1000
> #endif
1039c1041
< 
---
> #ifndef __SUNPRO_CC
1058a1061
> #endif
1113,1114c1116,1118
<             ::boost::is_convertible<T*,Base*>::value
<           )>::template then<Base,T>::type type;
---
>             ::boost::is_convertible<T*,Base*>::value),
>           	Base,T
> 	  >::type type;
1139,1140c1143
<           || 
boost::is_same<input_category,std::bidirectional_iterator_tag>::value
<         )>::template then<
---
>           || 
boost::is_same<input_category,std::bidirectional_iterator_tag>::value,
1158c1161
< #ifndef BOOST_MSVC // I don't have any idea why this occurs, but it 
doesn't seem to hurt too badly.
---
> #if !defined(BOOST_MSVC) && !defined(__SUNPRO_CC) // I don't have 
any idea why this occurs, but it doesn't seem to hurt too badly.
1175a1179
> #ifndef __SUNPRO_CC
1184a1189
> #endif

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