Masaharu wrote: >Thank you for sending me the request. I implemented following pragma in >cint5.14.38. > #pragma link [C|C++|off] function [scopename]::[funcname]([argtypes]); >You can specify scope with '#pragma link -- function'. Other things are >same as before. Is there any chance of using the same syntax for supporting (to some level) template member functions? I would want template members to be off by default (unless CINT found one that it knows has been instantiated anyway, perhaps), but where you could specify an explicit link to a template member. Smart pointers in particular this would be handy. #pragma link C++ function SmartPointer<X>::SmartPointer<X> (SmartPointer<Y>); for example is a very common idiom for smart pointer classes, so that you can implicitly convert smart pointers to Derived into smart pointers to Base. Of course, you can't specify all the possible conversions, but it may well be possible to specify enough of a subset to do the task you need to do in interpreted code. Being able to turn off particular instantiations of certain functions is also excellent and well appreciated -- we've already run into trouble with this with certain template classes, and will make use of this as soon as we get the version of CINT that implements it in the version of ROOT we use. BTW -- perhaps this should be a different message, but -- is there a package/script that would allow someone with a version of ROOT to upgrade just the version of CINT it is running (obviously, one would have to recompile)? It seems that the released versions of ROOT are often somewhat behind Masa's current version, and it would be nice to use, say, version 2.23 of ROOT with cint5.14.38; I know I would use this functionality if it were available. George Heintzelman gah@bnl.gov
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:25 MET