Hi!
I have some problems using boost::any in different modules that get
loaded with libdl. If i store an int in the boost::any it works like a
charm - but when i use a std::string then the boost::any (holding a
std::string) isn't any_castable to a std::string because it seems that
typeid(std::string) != boost::any.type(). Only thing which is the same
is the string represantation of type().name().
I came around this with my own any_cast implementation:
template<typename ValueType>
ValueType * any_cast(any * operand)
{
return operand &&
(operand->type() == typeid(ValueType) ||
std::string(operand->type().name()).compare(typeid(ValueType).name())==0)
? &static_cast