Boost logo

Boost :

Subject: Re: [boost] An extension to boost::variant
From: Catalytic (iitk.cs_at_[hidden])
Date: 2009-02-08 10:09:34

Chris Hamilton-3 wrote:
> While boost::variant is very capable at what it does, there is one thing
> it doesn't do ..
> ..My question is this: why can't boost::variant be clever about reference
> data types..
> The reason I want this, is to have a nice String variant, that
> encapsulates the various forms a string can take in a current project:
> std::strings, char*'s, and std::string* and
> boost::shared_ptr<std::string>. I want functions to be able to handle
> all of these types transparently by using variants as the argument
> types. Allowing "const std::string&" as a variant type allows this to
> be done while not requiring a wasteful string copy.
> ..
> (I have a small custom variant class implementing this, and it appears
> to work well. It's not as 'full fledged' as the boost::variant class,
> but the approach I've taken could surely be grafted on to boost::variant.)

An example will be better than a lengthy explanation,
please have a look at the test-cases in the boost distribution:
specially variant_reference_test.cpp

IMHO, it will answer all your queries.


View this message in context:
Sent from the Boost - Dev mailing list archive at

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