|
Boost Users : |
Subject: Re: [Boost-users] [iterator] error while accessing member of result of brackets-operator
From: Krzysztof Czainski (1czajnik_at_[hidden])
Date: 2014-01-10 05:10:07
2014/1/10 Sebastian Pfützner <s.pfuetzner_at_[hidden]>
> On 09.01.2014 17:43, Krzysztof Czainski wrote:
>
>> That said, here's a hack for you: right after the definition of struct S
>> insert this code:
>>
>> class It;
>>
>> namespace boost { namespace detail {
>> template <> struct operator_brackets_result<It,S,S&>
>> { typedef S& type; };
>> }}
>>
>
> That works in the example. In my real code, /It/ is a template and I don't
> know how to specialize operator_brackets_result for each instantiation.
>
It should be possible to write a partial specialization of
operator_brackets_result<> for the whole template It.
For example:
template < class T > class It;
namespace boost { namespace detail {
template < class T > struct operator_brackets_result<It<T>,T,T&>
{ typedef T& type; };
}}
Regards
Kris
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net