Boost logo

Boost :

Subject: Re: [boost] TR2 is dead; multiple TR's coming instead
From: Thomas Klimpel (Thomas.Klimpel_at_[hidden])
Date: 2012-02-19 10:36:35


Cory Nelson wrote:
> As someone who does not have the means to attend these meetings,
> I hope someone will be able to champion variant, optional, and intrusive.

The "variant" functionality is something I have often seen in "real" code, even so it never used boost::variant. Most often it was homegrown, but sometimes also QVariant (from qt). But QVariant is actually more related to boost::any than boost::variant. So what about boost::any?

I have seen boost::optional in "real" code, but that code wasn't very convincing (to say the least). But I see that it has real use cases for class members, containers, and for optionally returning a value. The free "get_pointer" function is especially useful for efficiency and generic code (assuming it is specialized for all "pointer like" objects, including real pointers), but I don't fully understand why the equivalent member function "get_ptr" has a different name.

I though more than once about actually using "intrusive" in my code, and I guess it would really have a positive impact on performance at the places where I considered using it. What is also intriguing about "intrusive" is the huge collection of containers offered with it. The only drawback is that I could imagine even more container types that would make sense for "intrusive", but probably already the existing collection of container types will be "too large" for the standard.

Regards,
Thomas


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk