> -----Original Message----- > From: Eric Lemings > Sent: Wednesday, May 07, 2008 3:50 PM > To: '[email protected]' > Subject: RE: [STDCXX-905] 22.locale.synopsis link error on > Solaris platforms > > > > > -----Original Message----- > > From: Martin Sebor [mailto:[EMAIL PROTECTED] On Behalf Of > Martin Sebor > > Sent: Thursday, May 01, 2008 2:30 PM > > To: [email protected] > > 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.
