I'd like to use boost::any as a universal type to store in a container and to pass to different functions. But inside these functions I always know the real type, so in runtime I don't need any type safety checks and the imposed overhead, static_cast is enough.
The ideal solution would be to use something like boost::polymorphic_downcast, but as I can see it can't be applied in this case.
Should I just write my own wrapper for void* or is there another option?