$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Daryle Walker (darylew_at_[hidden])
Date: 2008-07-16 07:56:29
On Jul 14, 2008, at 11:31 AM, J. van der Wulp wrote:
> There seems to be a problem with using Boost.Integer in combination  
> with anything that uses boost/detail/numeric_traits.hpp  
> (development). The latter also defines a struct with name  
> integer_traits that is not compatible with the one declared in  
> Boost.Integer.
>
> The problem can be reproduced by including boost/graph/ 
> adjacency_list.hpp first and boost/integer.hpp as in:
>
> #include <boost/graph/adjacency_list.hpp>
> #include <boost/integer.hpp>
>
> int main() {
>   return 0;
> }
>
> Swapping the include directives avoids the problem.
Does it have to be <boost/integer.hpp>, or will using <boost/ 
integer_traits.hpp> directly (without also including integer.hpp)  
also cause the error?  (Check both relative orders, of course.)
I wonder if changing numeric_traits to:
//=========================================
   template <class Number>
   struct numeric_traits
   {
       typedef  
typename ::boost::detail::integer_traits<Number>::difference_type  
difference_type;
   };
//=========================================
will make a difference.  The extra qualification should specify  
exactly which "integer_traits" is used.  (It was unqualified before,  
so maybe the compiler grabs boost::integer_traits if it doesn't know  
about boost::detail::integer_traits.)
-- Daryle Walker Mac, Internet, and Video Game Junkie darylew AT hotmail DOT com