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,22 +39,18 @@ namespace boost
public: public:
sub_range() : base() sub_range() : base()
{ } { }
/*
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
typedef sub_range<ForwardRange> this_type;
sub_range( this_type r ) :
: base( r )
{ }
this_type& operator=( this_type r ) /*
{ template< class ForwardRange2 >
base::operator=( r ); sub_range( sub_range<ForwardRange2> r ) :
return *this;
} #if BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 800 )
#endif base( impl::adl_begin( r ), impl::adl_end( r ) )
*/ #else
template< class ForwardRange2 > base( r )
#endif */
template< class ForwardRange2 >
sub_range( ForwardRange2& r ) : sub_range( ForwardRange2& r ) :
#if BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 800 ) #if BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 800 )
@ -92,6 +88,16 @@ namespace boost
base::operator=( r ); base::operator=( r );
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: