Boost logo

Boost :

From: John Maddock (john_maddock_at_[hidden])
Date: 2002-03-19 07:00:38


>
> >
> > The header checks for _MSC_VER (in several places) in order to determine
> if
> > a trait class template specialization for '__int64' is needed/valid,
e.g.
> >
> > # if defined(BOOST_HAS_LONG_LONG)
> > template <> struct is_integral<unsigned long long>
> > { BOOST_STATIC_CONSTANT(bool, value = true); };
> > template <> struct is_integral<long long>
> > { BOOST_STATIC_CONSTANT(bool, value = true); };
> > #elif defined(__BORLANDC__) || defined(_MSC_VER) // <-- here
> > template <> struct is_integral<unsigned __int64>
> > { BOOST_STATIC_CONSTANT(bool, value = true); };
> > template <> struct is_integral<__int64>
> > { BOOST_STATIC_CONSTANT(bool, value = true); };
> > #endif
> >
> > The check is troublesome because not all compilers that define _MSC_VER
> > provide intrinsic __int64 type, - in particular Comeau for Windows does
> not
> > (don't know about the Intel). So, the above condition should at least
> check
> > for BOOST_MSVC, and may be even for a particular version of it, as it's
> done
> > in "boost/cstdint.hpp".

 Yep, thanks, fixed in cvs.

 John Maddock
 http://ourworld.compuserve.com/homepages/john_maddock/index.htm


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk