361. num_get<>::do_get (..., void*&) checks grouping

Section: [facet.num.put.virtuals] Status: NAD Submitter: Martin Sebor Opened: 2002-03-12 Last modified: 2016-01-28 10:19:27 UTC

Priority: Not Prioritized

View other active issues in [facet.num.put.virtuals].

View all other issues in [facet.num.put.virtuals].

View all issues with NAD status.

Discussion:, p12 specifies that thousands_sep is to be inserted only for integral types (issue 282 suggests that this should be done for all arithmetic types)., p12 requires that grouping be checked for all extractors including that for void*.

I don't think that's right. void* values should not be checked for grouping, should they? (Although if they should, then num_put needs to write them out, otherwise their extraction will fail.)

Proposed resolution:

Change the first sentence of, p12 from

Digit grouping is checked. That is, the positions of discarded separators is examined for consistency with use_facet<numpunct<charT> >(loc).grouping(). If they are not consistent then ios_base::failbit is assigned to err.


Except for conversions to void*, digit grouping is checked...


This would be a change: as it stands, the standard clearly specifies that grouping applies to void*. A survey of existing practice shows that most existing implementations do that, as they should.