Re: No cooperation between dictionaries from Cint and Reflex

From: Roel Aaij <Roel.Aaij_at_cern.ch>
Date: Tue, 31 Jan 2012 19:34:27 +0100


Hi Wim,

> as the error message states:
>

>> TClass::TClass:0: RuntimeWarning: no dictionary for class
>> pair<map<string,double>::iterator,bool> is available

>
> which is the return type of the overload that you want to call:
>
> pair<iterator, bool> insert(const value_type& x);
>
> Now, if the return type would be a pointer, things can be fuzzed even if
> there
> is no dictionary available, since the size of a pointer is fixed and
> known. But
> the unknown size of an unknown object leads to impossible memory
> management and
> thus the call fails.
>
> Add that pair class for the return to a dictionary and you should be in
> business.

The problem is that I tried to add it and genreflex reports: --->> genreflex: INFO: Using typedef std::map<const std::basic_string<char>,double>::iterator to select class std::_Rb_tree_iterator<std::pair<const std::basic_string<char>,double> >

And then in the list of generated classes: class std::pair<std::_Rb_tree_iterator<std::pair<const std::basic_string<char>,double> >,bool>

It seems that this type is not recognised as being the correct one, while for the other map and pair types I created, it is recognised.

Cheers, Roel

-- 
Roel Aaij
Cern, office 13-1-20        Tel: +41 (0)22 76 76284
CH-1211 Genève              Mob: +41 (0)79 9272 882


Received on Tue Jan 31 2012 - 19:37:06 CET

This archive was generated by hypermail 2.2.0 : Tue Jan 31 2012 - 23:50:01 CET