RE:[ROOT] RE:#pragma link function

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Sun May 14 2000 - 05:02:27 MEST


Hello George,

I implemented template function instantiation with the same #pragma link
statement.  If exact match is not found, then cint tries to instantiate
function template. The change will be included in cint5.14.38.

Thank you
Masaharu Goto

>
>>>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