$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: John Hunter (jdhunter_at_[hidden])
Date: 2001-08-16 11:26:58
>>>>> "Peter" == Peter Dimov <pdimov_at_[hidden]> writes:
    Peter> First, boost::mem_fun from <boost/functional.hpp> does not
    Peter> take a boost::shared_ptr. You may use the mem_fun from
    Peter> <boost/mem_fun.hpp> that does (it's part of the Bind
    Peter> library, currently under review.)
I installed bind and it works as advertised.  Thanks!
    Peter> Second, your get_ptr_train() function returns a raw pointer
    Peter> to, I assume, Neuron::st. You can't assign this to a
    Peter> boost::shared_ptr<const Train<float_t> >, as you try to do
    Peter> with the transform() call above; even if you could do the
    Peter> assignment, the shared_ptr would try to delete the pointer
    Peter> in its destructor. Your 'trains' array should probably look
    Peter> like
    Peter> std::vector<const Train<float_t> *> trains;
Ok, thanks for the warning. 
    Peter> Third, transform'ing into trains.begin() will overwrite the
    Peter> current contents of trains; I don't know whether this is
    Peter> intentional or you'd need back_inserter(trains) instead.
This one is ok: the trains vector is properly sized before the call to
transform.
One thing I noticed with boost/bin/mem_fun.hpp is that I cannot
include boost/functional.hpp since they both define mem_fun in the
boost namespace.  Is there any functionality in boost/functional.hpp
that I cannot get in boost/bind/mem_fun.hpp and boost/bind/bind.hpp.
It appears that I have to commit to one or the other.  If bind is
accepted after the review process, will it supplant boost::functional
or exist as an alternative?
Thanks again,
John Hunter