Boost logo

Boost :

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

  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:

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
> ::boost::type_traits::ice_not< ::boost::is_function<T>::value


> ////////////////////// 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.


Boost list run by bdawes at, gregod at, cpdaniel at, john at