|
Boost : |
From: Stephan T. Lavavej (stl_at_[hidden])
Date: 2005-07-27 02:59:50
Hi,
I have noted the following about Boost 1.32.0.
1. boost/token_iterator.hpp is very broken on line 34.
template <class TokenizerFunc, class Iterator, class Type>
class token_iterator
: public iterator_facade<
token_iterator<TokenizerFunc, Iterator, Type>
, Type // ********** SHOULD READ: const Type
, typename detail::minimum_category<
forward_traversal_tag
, typename iterator_traversal<Iterator>::type
>::type
, const Type&
>
GCC 3.4.2 refuses to compile this when broken.
2. boost/format/format_implementation.hpp contains shadowing on line 28. The
constructor takes 'str', which is named identically to a member function.
3. boost/date_time/time_duration.hpp contains shadowing on line 53. The
constructor takes 'hours', 'minutes', and 'seconds', which are named
identically to member functions.
4. boost/date_time/time_system_counted.hpp contains shadowing on line 34.
The constructor takes 'tod', which is named identically to a member
function.
Shadowing makes using Boost with GCC -Wshadow difficult, and these cases are
very easy to fix.
5. libs/regex/build/gcc.mak mentions '-I../../../' twice. This breaks
compilation on MinGW. '-I../../..' ought to work everywhere (it does on
MinGW).
6. Suggestion: It would be useful if Boost.Format were capable of delayed
evaluation.
int main() {
format mommy("%1% %1%");
format kiddy("x%1%y");
mommy % kiddy;
kiddy % 10;
cout << mommy << endl;
}
Thanks,
Stephan T. Lavavej
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk