Boost logo

Boost Users :

Subject: [Boost-users] Variant pointer and bool
From: Philipp Hamann (philipp.hamann_at_[hidden])
Date: 2010-12-13 11:02:16


Hi all,
I have a class, call it "Property", containing a value, which can be of
many different types, like int, string, bool, but also a pointer to
binary data. So I decided to use boost::variant.

The problem is that when I assign a pointer to the variant, it is
implicitly casted to a bool. So I do not get the pointer out of the
variant again.

Is boost::variant not suitable for my needs or is there a recommended
workaround?

I will post some code to make my problem more clear.

boost::variant<void*, bool, int, std::string> value;
void* p;
value = p;
bool b = boost::get<bool>(value); //OK
void* p2 = boost::get<void*>(value); //Error

Thanks for your help

        Philipp


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net