|
Boost Users : |
Subject: [Boost-users] [Serialize] master build failed due to friend template
From: alainm (alain.miniussi_at_[hidden])
Date: 2016-10-28 09:19:17
Hi Robert,
My build is currently failing on master due to the following friend
declaration in array.hpp:
[...]
public:
// note: I would like to make the copy constructor private but this
breaks
// make_array. So I try to make make_array a friend - but that
doesn't
// build. Need a C++ guru to explain this!
template<class S>
friend const boost::serialization::array_wrapper<T> make_array( T*
t, S s);
[...]
actual definition:
template<class T, class S>
inline
const array_wrapper< T > make_array( T* t, S s){
const array_wrapper< T > a(t, s);
return a;
}
the problem is that the actual template definition takes two template
parameters.
Has a result, the friend declaration introduces a new template that will
be missing at link time.
I'd like to have it fixed for the upcomming release so that we could
merge in a long overdue update of the MPI lib.
The fix seems kind of trivial:
https://github.com/boostorg/serialization/pull/46
I also have an issue with the selection criteria for emplace_hint which
fails (at least) on intel C++/CentOS 6.5:
https://github.com/boostorg/serialization/pull/47
Regards
Alain
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net