--- d:\boost_1_51_0\boost\utility\base_from_member.hpp Sun Nov 28 00:27:25 2004 +++ D:\Documents\Visual Studio 2012\Projects\streams\streams\base_from_member.hpp Fri Oct 26 16:01:00 2012 @@ -77,6 +77,25 @@ }; // boost::base_from_member + +// Specialization to deal with references correctly. The general +// template constructors take their arguments by value, resulting +// in a dangling reference. + +// Contributed by Agustín K-ballo Bergé + +template < typename MemberType, int UniqueId > +class base_from_member< MemberType&, UniqueId > +{ +protected: + MemberType& member; + + explicit base_from_member( MemberType& x ) + : member( x ) + {} + +}; // boost::base_from_member + } // namespace boost