Farid Zaripov wrote:
From: Martin Sebor [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 21, 2007 8:56 PM
Subject: Re: STDCXX examples fails and reasons [MSVC]
time_get looks like a bug (or lack of functionality) in our library
time_get::date_order() returns time_get::do_date_order() which always
returns dateorder () == no_order (loc/_time_get.h; line 137).
Right. We ran out of time when implementing the facet. The
standard doesn't require us to do any better so there hasn't
been a lot of pressure to get back to it and finish the job,
but that doesn't mean we should never do it. From a QoI point
of view we definitely should.
Also I observed that time_get::~time_get() should be protected
but in our library the time_get::~time_get() is not declared/defined.
Yes, it is declared as protected in the standard to prevent
standalone facet objects from being constructed. I'm not
sure that's a detectable requirement. Violations of the
requirement are detectable by non-conforming programs,
but I can't think of a way how conformance to it could
be detected -- can you?
The same situation with ~time_get_byname(), ~time_put(),
Our implementation lets users construct facet objects and use
(at least some) them directly rather than going through the
use_facet interface, which seems like a reasonable thing to
do. Can you think of a reason not to keep this extension?