Good morning, First of all, thank you very much for your help in advance. I have a problem in dynamic casting. sc_object *o = (sc_object*)(x[i]); if (typeid(*o)==typeid(sc_out<bool>)) sc_out<bool> *thisPort=dynamic_cast<sc_out<bool> *>(o); sc_out<T> type is a polymorphic template class that inherits sc_object class. I would like to cast the polymorphic object (*o) without to know the template type T of sc_out<T>. I would avoid all the possible casts that can result in an enormous computational burden. I would like to access to the methods of sc_out<T> type.I cannot modify the code of sc_out<T> and sc_object.Does exist any way to perform this "blind" operation? Does exist a boost library that allows the use of the string typeid.name() as type in dynamic cast operation? thank you very much in advance Lorenzo PIERALISI
Hi, (this is afternoon in France) i do not know if some boost lib exist, but if you can not change the code, some computational burden will still remains. Furthermore, i guess that some of the methods of sc_out<T> takes some templatized parameters. If not this means that T is just an internal detail implememtation.
I would like to cast the polymorphic object (*o) without to >know the template type T of sc_out<T>.
If tou are just anoyed by making the conversion you can make a templatized converter from an sc_object to an sc_out, : template <class T> sc_out<T> convert(sc_object *o) --------------------------------- Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Testez le nouveau Yahoo! Mail [Non-text portions of this message have been removed]
participants (2)
-
Alexandre Carsac
-
lorydido