
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<any::holder<ValueType> *>(operand->content)->held : 0; } Is there a better way to address this issue? Best regards, Gernot Vormayr