Boost logo

Boost :

Subject: Re: [boost] [review] string convert
From: Marsh Ray (marsh_at_[hidden])
Date: 2011-05-03 14:52:11

On 05/03/2011 11:41 AM, Jeff Flinn wrote:
> I personally don't have those reservations and the applicability of
> Make. Even more concise with perhaps less preconceptions might be:
> as<int>(s, 123);

Just a data point: I've been using '<U>' as my own convention for
a few years now and I like it.

It was a little easier on a "lenient" compiler where I started using it:

struct mytype
   // Unimplemented general template.
   template <class U> U as() const {

   // specializations define the types we support "conversions" to:
   template <> std::string as() const {return this->to_string_imp(); }
   template <> std::wstring as() const {return this->to_wstring_imp();}
   ...possibly more...

template <class T>
T f()
    mytype m(...);

Just tried it again the other day with a class template on a more
conforming compiler (which required member specializations at namespace
scope). It was a lot more overhead code to make it work.

If this library could help me define explicit conversions "as" member
templates with a sane amount of boilerplate again, I'd be a fan.

- Marsh

Boost list run by bdawes at, gregod at, cpdaniel at, john at