Boost logo

Boost :

From: Douglas Gregor (gregod_at_[hidden])
Date: 2003-03-15 15:10:20


John,
  This regression in Function is coming from your recently change to
is_class.hpp. Would you mind taking a look?

On Saturday 15 March 2003 01:31 pm, Bernhard Glueck wrote:
> Hi !
>
> I was using boost:function for a while now with success on
> Visual C 7.0 ( MSVC 1300 ) .
>
> I was always using the most actual boost 1.30.0 version from the CVS.
> Today i updated the CVS again ( after two days of not doing so )
> and suddenly my code which relied on boost::function does not compile
> anymore.

boost::function hasn't changed in the last few weeks, but some of the
libraries it depends on have changed.

> I think there have some changes been made, so i need to change my code,
> but since there is no boost::function
> documentation in the CVS yet can someone please enlighten me what has
> changed .. ?

FYI, updated documentation for Boost.Function is here:
  http://www.cs.rpi.edu/~gregod/boost/doc/html/function.html

Also, it's on the RC_1_30_0 branch in CVS (that will be 1.30.0; mainline CVS
is for 1.31.0 and later).

> Here is the relevant code:
> ( I have marked the line where compilation fails and provided the exact
> error details below )
> ( This code compiled perfectly two days ago )
[snip code]
> ///////////////////////////////////////////////////////////////////////////
>//////// /// VISUAL C ERROR OUTPUT:
> ///////////////////////////////////////////////////////////////////////////
>/////// D:\Sdk\boost\boost\type_traits\is_class.hpp(78) : error C2510:
> 'value' : left of '::' must be a class/struct/union
> D:\Sdk\boost\boost\type_traits\is_class.hpp(94) : see reference
> to class template instantiation 'boost::detail::is_class_impl<T>' being
> compiled
> with
> [
> T=boost::any (__cdecl *)(const boost::any &)
> ]

Looks like a type_traits problem. I suspect this patch:

Index: is_class.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/type_traits/is_class.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -r1.5 -r1.6
84a85
> ::boost::type_traits::ice_not< ::boost::is_function<T>::value
>::value

John?

> ////////////////////// SECOND Problem
> As you may note all conversions from data types to std::string are
> commented out !
> This is because boost::lexical_cast fails to compile in DEBUG mode ( it
> compiles fine in RELEASE Mode
> and also works like a charm in RELEASE mode )

The implementation of lexical_cast w.r.t. strings is in a state of flux. I'm
too far out of the loop to be helpful on this one.

        Doug


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