> -----Original Message-----
> From: Eric Lemings
> Sent: Wednesday, May 07, 2008 3:50 PM
> To: 'dev@stdcxx.apache.org'
> Subject: RE: [STDCXX-905] 22.locale.synopsis link error on
> Solaris platforms
>
>
>
> > -----Original Message-----
> > From: Martin Sebor [mailto:msebor@gmail.com] On Behalf Of
> Martin Sebor
> > Sent: Thursday, May 01, 2008 2:30 PM
> > To: dev@stdcxx.apache.org
> > Subject: Re: [STDCXX-905] 22.locale.synopsis link error on
> > Solaris platforms
> >
> ...
> >
> > What we would need to do if we really wanted to exercise the
> > template is define a dummy explicit specialization of the
> > collate facet on a user-defined (non-fundamental) type such
> > as UserChar from rw_char.h and instantiate the template
> > operator on it. E.g., something like:
> >
> > namespace std {
> > template <>
> > struct collate<UserChar>: locale::facet {
> > /* define all members as no-ops */
> > };
> > }
> >
> > // exercise a specialization other than on the default
> > // char types
> > typedef StringTypes<UserChar>::string_type UserString;
> >
> > MEMFUN (bool, operator(), (const UserString&, const
> > UserString&) const);
> >
> > Martin
> >
>
> I infer from this that if developers need collate facets for
> user-defined character types then they are required to define
> their own specializations for these types. That right?
If that's the case, adding collate specializations with no-op
members for a user-defined ctype doesn't really test anything
in the library and is therefore useless in which case I should
just remove the corresponding test cases. Or does it actually
test something?
Brad.
|