Re: ROOT / Athena standard problem with (nested) templates (map + set)

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Fri, 8 Jun 2012 11:31:53 -0500


Hi Alexander,

On the command line, before the .L template_test.C

Cheers,
Philippe.

On 6/8/12 11:28 AM, Alexander Mann wrote:
>
> Hi Philippe,
>
> OK, but where do I put this line in my example? (So that it is executed early enough.)
>
> cu
> Alexander
>
>
> On 06/08/2012 06:14 PM, Philippe Canal wrote:
>> Hi,
>>
>> So the problem is that a partial dictionary for set<unsigned int> is
>> loaded that interferes with the proper operations.
>> You could to explicitly generate it before hand by doing:
>>
>> gInterpreter->GenerateDictionary("set<unsigned int>","set");
>>
>> Cheers,
>> Philippe.
>>
>>
>> On 6/8/12 11:08 AM, Alexander Mann wrote:
>>>
>>> Hi Philippe,
>>>
>>> file is attached.
>>>
>>> (Actually, if you change the 2nd line in this file manually to
>>>
>>> > #include "set"
>>>
>>> and rerun, it works, but fails at a later stage when trying e.g.
>>>
>>> > ttest.var[0]->insert(3);)
>>>
>>> cu
>>> Alexander
>>>
>>>
>>> On 06/08/2012 05:48 PM, Philippe Canal wrote:
>>>> HI Alexander,
>>>>
>>>> I can not reproduce the problem.
>>>> What is the content of:
>>>>
>>>> AutoDict_map_unsigned_int_set_unsigned_int___less_unsigned_int__allocator_pair_const_unsigned_int_set_unsigned_int_______.cxx
>>>>
>>>>
>>>>
>>>> ?
>>>>
>>>> Philippe.
>>>>
>>>> On 6/8/12 4:12 AM, Alexander Mann wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> remind me, please: How can I use this in a ROOT macro:
>>>>>
>>>>> std::map<unsigned int, std::set<unsigned int>* > var;
>>>>>
>>>>> It works in ROOT 5.32.00, but as soon as Athena (17.5.0 -> ROOT:
>>>>> /afs/cern.ch/atlas/software/releases/17.5.0/LCGCMT/LCGCMT_62a/InstallArea/x86_64-slc5-gcc43-opt/bin/root)
>>>>>
>>>>> comes into the game, it spits out pages of error messages, starting
>>>>> with
>>>>>
>>>>> AutoDict_map_unsigned_int_set_unsigned_int___less_unsigned_int__allocator_pair_const_unsigned_int_set_unsigned_int_______.cxx:2:
>>>>>
>>>>> error: 'set' is not a template
>>>>> [...]
>>>>>
>>>>> Full example attached. Any help appreciated.
>>>>>
>>>>> cu
>>>>> Alexander
>>>>>
>>>>> PS: .L template_test.C+ works in both cases.
>>>
>
Received on Fri Jun 08 2012 - 18:32:00 CEST

This archive was generated by hypermail 2.2.0 : Fri Jun 08 2012 - 23:50:02 CEST