RE: Using std string when ustring is not available.

Oh dear. So simple and obvious. 

Hannu Vuolasaho

Date: Sun, 20 May 2012 20:16:36 +0200
From: lists binarywings net
To: gtkmm-list gnome org
Subject: Re: Using std string when ustring is not available.

Am 20.05.2012 16:15, schrieb Hannu Vuolasaho:
> Hello everyone!
> I'm thinking of supporting UTF-8 in my small console application and ustring would be quite useful and using gtkmm there is possibility to add GUI also. However some systems might not have gtkmm installed and in that case I'd like to fall back to std string.
> Is this behaviour achievable some kind of wrapper class easily?
> I'm thinking something like:
> #ifdef HAVE_GTKMM
> class myString: public ustring{
> ....
> #else
> class myString:public std::string{
> ...
> #endif
> and myString would act like stdstring or ustring.
> Or what kind solution would be good?
> best regards,
> Hannu Vuolasaho

I don't think public inheritance of std::string is a good idea. ustring
doesn't either, for various reasons. Without further research, I suggest
two options:

1. Create your own class which doesn't inherit from either one but
contains an instance and mimics the interface -- basically doing what
ustring does with regard to std::string.

2. Since ustring and std::string have very similar interfaces, you might
get away with a preprocessor-dependant typedef like
typedef Glib::ustring mystring;
typedef std::string mystring;

Florian Philipp

gtkmm-list mailing list
gtkmm-list gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]