$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: MB (mb2act_at_[hidden])
Date: 2005-12-10 19:07:39
Victor A. Wagner Jr. wrote:
> At 16:18 2005-12-08, you wrote:
> 
>>Victor A. Wagner Jr. wrote:
>>
>>
>>>>I've added the following overload
>>>>
>>>>
>>>>        sub_range& operator=( sub_range r )
>>>>        {
>>>>            //
>>>>            // argument passed by value to avoid
>>>>            // const_iterator to iterator conversion
>>>>            //
>>>>            base::operator=( r );
>>>>            return *this;
>>>>        }
>>>>
>>>>and can now compile your program.
>>>>
>>>>I've also committed this to the main cvs.
>>>
>>>
>>>yes, it compiles, and runs on vc7.1
>>>it does NOT compile on vs8.0 (which is currently my default compiler)
>>
>>was there any difference in the compiler there? Is it still operator= in
>>iterator_range that gets called?
> 
> 
> yes, vs2005 has the vc8.0 compiler... I'll repost the program AND the errors...
> http://www.noidea128.org/sourcefiles/15688~
> that souce is already trying to call SNway_merge and shows 2 errors.
> 
> 
> 
>>-Thorsten
>>
>>_______________________________________________
>>Boost-users mailing list
>>Boost-users_at_[hidden]
>>http://listarchives.boost.org/mailman/listinfo.cgi/boost-users
> 
> 
> Victor A. Wagner Jr.      http://rudbek.com
> The five most dangerous words in the English language:
>                "There oughta be a law" 
Add:
   sub_range(const sub_range& r) :
     base(static_cast<const base&>(r))
   { }
   sub_range& operator=(const sub_range& r)
   {
     base::operator=(static_cast<const base&>(r));
     return *this;
   }
If 'static_cast's are missing, VC8 calls "constructor template" of 'iterator_range'.
Though I don't know the reason, this codes are safe.
Regards,
MB
http://p-stade.sourceforge.net/