
On Thu, Oct 20, 2011 at 8:32 AM, Bo Persson <bop@gmb.dk> wrote:
Jeffrey Lee Hellrung, Jr. wrote:
On Wed, Oct 19, 2011 at 12:38 PM, <andrey.semashev@gmail.com> wrote:
On Wednesday, October 19, 2011 12:27:31 Jeffrey Lee Hellrung, Jr. wrote:
[...]
I think the following would do: typedef typename make_unsigned< difference_type >::type size_type;
I was under the impression that most of the traits in Boost.TypeTraits of this nature are only defined for builtin types.
See one of my previous replies, difference type should be a signed integer type.
Ah, indeed. Then I agree make_unsigned would be a legitimate solution.
This will break if difference_type is a UDT without a make_unsigned specialization.
Is that a good idea?
The wording of the standard says that difference_type is a "signed integer type", seeming to imply that it shouldn't be a UDT. - Jeff