C++ Logo

STD-DISCUSSION

Advanced search

Subject: Re: Rationale for return type of the non-array version of std::ssize()
From: Gennaro Prota (gennaro.prota_at_[hidden])
Date: 2020-04-28 08:18:34


On Tue, Apr 28, 2020 at 1:43 PM Bo Persson via Std-Discussion
<std-discussion_at_[hidden]> wrote:
>
> On 2020-04-28 at 12:46, Gennaro Prota via Std-Discussion wrote:
> > Hi All,
> >
> > what is the reason why the non-array version of std::ssize() returns
> >
> > std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>
> >
> > rather than just
> >
> > std::ptrdiff_t
> >
> > ?
> >
> > Thanks a lot.
> >
>
> The containers size_type is not required to be convertible to ptrdiff_t.
> This will try to find some other type in that case.

Isn't a container's size_type guaranteed to be an unsigned integer type?

-- 
--
.:: Gennaro Prota ::.
.:: https://about.me/gennaro.prota ::.

STD-DISCUSSION list run by std-discussion-owner@lists.isocpp.org

Older Archives on Google Groups