fixed vc7.1 iterator conversion problems

[SVN r31942]
This commit is contained in:
Thorsten Jørgen Ottosen
2005-12-07 01:26:57 +00:00
parent e76e9cda28
commit a2b6c3f5ec

View File

@ -39,21 +39,17 @@ namespace boost
public: public:
sub_range() : base() sub_range() : base()
{ } { }
/* /*
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) template< class ForwardRange2 >
typedef sub_range<ForwardRange> this_type; sub_range( sub_range<ForwardRange2> r ) :
sub_range( this_type r ) : #if BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 800 )
: base( r ) base( impl::adl_begin( r ), impl::adl_end( r ) )
{ } #else
base( r )
#endif */
this_type& operator=( this_type r )
{
base::operator=( r );
return *this;
}
#endif
*/
template< class ForwardRange2 > template< class ForwardRange2 >
sub_range( ForwardRange2& r ) : sub_range( ForwardRange2& r ) :
@ -93,6 +89,16 @@ namespace boost
return *this; return *this;
} }
sub_range& operator=( sub_range r )
{
//
// argument passed by value to avoid
// const_iterator to iterator conversion
//
base::operator=( r );
return *this;
}
public: public:
iterator begin() { return base::begin(); } iterator begin() { return base::begin(); }