trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: July 2012

Re: [trinity-devel] krusader - still ftbfs-> no type named 'iterator_category'

From: "Timothy Pearson" <kb9vqf@...>
Date: Fri, 20 Jul 2012 01:18:06 -0500
> On 07/15/2012 12:43 AM, David C. Rankin wrote:
>> Tim, Darrell, All,
>>
>>   krusader still fails to build and gives a template error. With gcc
>> 4.7.0 the
>> thought was maybe it was a gcc issue. Now we are on 4.7.1 and the gcc
>> bugs
>> should be pretty much worked out. However, I still get the iterator
>> error in
>> 'class TQValueListConstIterator<KURL>'. I know nothing about the
>> template
>> classes, so this will be impossible for me to debug. Need help. The full
>> error is:
>>
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_iterator_base_types.h:
>> In instantiation of 'struct
>> std::iterator_traits<TQValueListConstIterator<KURL> >':
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_iterator_base_types.h:202:5:
>>   required by substitution of 'template<class _Iter> typename
>> std::iterator_traits::iterator_category std::__iterator_category(const
>> _Iter&)
>> [with _Iter = TQValueListConstIterator<KURL>]'
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algo.h:4490:41:
>>   required from '_IIter std::find_if(_IIter, _IIter, _Predicate) [with
>> _IIter =
>> TQValueListConstIterator<KURL>; _Predicate =
>> std::unary_negate<std::const_mem_fun_ref_t<bool, KURL> >]'
>> expander.cpp:674:102:   required from here
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_iterator_base_types.h:166:53:
>> error: no type named 'iterator_category' in 'class
>> TQValueListConstIterator<KURL>'
>> In file included from
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/algorithm:63:0,
>>                  from expander.cpp:13:
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algo.h:
>> In instantiation of '_IIter std::find_if(_IIter, _IIter, _Predicate)
>> [with
>> _IIter = TQValueListConstIterator<KURL>; _Predicate =
>> std::unary_negate<std::const_mem_fun_ref_t<bool, KURL> >]':
>> expander.cpp:674:102:   required from here
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algo.h:4490:41:
>> error: no matching function for call to
>> '__iterator_category(TQValueListConstIterator<KURL>&)'
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algo.h:4490:41:
>> note: candidate is:
>> In file included from
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algobase.h:66:0,
>>                  from
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/algorithm:62,
>>                  from expander.cpp:13:
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_iterator_base_types.h:202:5:
>> note: template<class _Iter> typename
>> std::iterator_traits::iterator_category
>> std::__iterator_category(const _Iter&)
>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_iterator_base_types.h:202:5:
>> note:   substitution of deduced template arguments resulted in errors
>> seen above
>>
>>
>
> Guys,
>
>   These template errors seem to point back to the TQValueList... template
> stuff
> that I'm having a bit more trouble with. As with kima, this looks like it
> might
> be a simple missing include as in 'kima' (#include <list>). But, what
> include
> would go along with __iterator_category(TQValueListConstIterator<KURL>&)??
> Is
> there an (#include <iterator>) STL include?
>
> --
> David C. Rankin, J.D.,P.E.

Yes there is, but I don't know if it will help you:
http://www.cplusplus.com/reference/std/iterator/iterator/

If this does end up being needed, a patch to Qt3/TQt3 itself may be needed.

Tim