|
Boost : |
From: cppljevans_at_[hidden]
Date: 2003-11-06 19:34:29
On 11/06/2003 07:01 AM, cppljevans_at_[hidden] wrote:
> On 11/06/2003 04:21 AM, David B. Held wrote:
> [snip]
>
>> the library). I would leave it out and test your code only with
>> newer compilers (mainly because that's what I'm doing ;).
>>
> Unfortunately, the g++ -E output shows it does nothing; so, leaving it
> out wouldn't help :(
Using gSTLFilt.pl (see http://www.bdsoft.com/tools/stlfilt.html ) shows:
g++-3.2.3 -g -c -I../../.. -I../../../../boost-sandbox/boost-sandbox
-I../../../../boost_release/boost-1.30.2 -o refcycle_counted.o
refcycle_counted.cpp 2>&1 | perl /home/evansl/download/stlfilt/gSTLFilt.pl
BD Software STL Message Decryptor v2.36 for gcc
../../../boost/policy_ptr/smart_ptr.hpp:245: no template named `apply' in
../../../boost/policy_ptr/smart_ptr.hpp: In instantiation of
`boost::mpl::apply1<
boost::managed_ptr::curry_prox_visitor<
boost::managed_ptr::prox_visitor_refcycle_abs
>::refcycle_counted<boost::mpl::_>
, node<
boost::managed_ptr::curry_prox_visitor<
boost::managed_ptr::prox_visitor_refcycle_abs
>::refcycle_counted<boost::mpl::_>
> *
>':
refcycle_counted.cpp:497: instantiated from here
../../../boost/policy_ptr/smart_ptr.hpp:245: instantiated from
`boost::detail::apply_lambda<
boost::managed_ptr::curry_prox_visitor<
boost::managed_ptr::prox_visitor_refcycle_abs
>::refcycle_counted<boost::mpl::_>
, node<
boost::managed_ptr::curry_prox_visitor<
boost::managed_ptr::prox_visitor_refcycle_abs
>::refcycle_counted<boost::mpl::_>
> *
>'
Also, the following code:
#if !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
char const*const no_full_lambda_support="not defined";
#else
char const*const no_full_lambda_support="is defined";
#endif
int main()
{
typedef boost::detail::get_category
<
boost::managed_ptr::curry_prox_visitor<dummy_prox_visitor>::refcycle_counted<_>
>::type cat_type;
mout()<<utility::demangled_name<cat_type>()<<"\n";
mout()<<no_full_lambda_support<<"\n";
return 0;
}
prints "not defined"; hence, !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
and, in view of the following in boost/mpl/aux_/lambda_support.hpp:
#if !defined(BOOST_MPL_NO_FULL_LAMBDA_SUPPORT)
# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/
# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/
the reason for the "does nothing" in my previous post is clearer.
In view of the trouble I'm having with this, I think I'll just
use a simplified version of smart_ptr and wait for your final
version of smart_ptr before trying to merge refcycle_counted
with policy_ptr/smart_ptr.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk