|
Boost : |
From: Giovanni Bajo (giovannibajo_at_[hidden])
Date: 2004-03-05 00:47:16
Pavel Vozenilek wrote:
> Discovered problems in code or in documentation,
> missing features, portability issues and finally opinion whether the library
belongs
> to Boost is welcomed.
I'm trying to compile the library with GCC 3.4. I get the following errors:
../../../boost/circular_buffer/debug.hpp: In member function `void
boost::cb_details::cb_iterator_registry::invalidate_iterators(const
Condition&)':
../../../boost/circular_buffer/debug.hpp:60: error: invalid use of undefined
type `const struct boost::cb_details::cb_iterator_base'
../../../boost/circular_buffer/debug.hpp:22: error: forward declaration of
`const struct boost::cb_details::cb_iterator_base'
The type appears to be undefined at the point of use. I know this is within a
template function, but the type is non-dependent, so it must be defined before
its use. An out-of-class definition at the end of the file seems to suffice.
../../../boost/circular_buffer/base.hpp:139: error: using typedef-name
`boost::circular_buffer<T, Alloc>::iterator' after `struct'
../../../boost/circular_buffer/base.hpp:140: error: using typedef-name
`boost::circular_buffer<T, Alloc>::const_iterator' after `struct'
Verified, and the code really does try to use a typedef-name while declaring
friendship, which is invalid.
../../../boost/circular_buffer/adaptor.hpp:369: error: dependent-name
`boost::cb_details::cb_iterator_category_traits<InputIterator>::tag' is parsed
as a non-type, but instantiation yields a type
../../../boost/circular_buffer/adaptor.hpp:369: note: say `typename
boost::cb_details::cb_iterator_category_traits<InputIterator>::tag' if a type
is meant
Just as it says. The same happens at line 412. Then in base.hpp, lines 570,
827, 953, 1105.
After fixing the above, I was able to compile & run adaptor_test and base_test
with no errors detected.
-- Giovanni Bajo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk