if the following code is commented out from visualc.hpp the standard streaming operators become available for mersenne_twister - and they seem to work fine. is this a bug or have i just been fortunate in my experimentation? #if _MSC_VER <= 1310 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #endif ian whittley
if the following code is commented out from visualc.hpp the standard streaming operators become available for mersenne_twister - and they seem to work fine. is this a bug or have i just been fortunate in my experimentation?
#if _MSC_VER <= 1310 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #endif
I admit to being a little surprised by that myself, I'll look into it... OK it was disabled by Beman Dawes with the comment "See format_test1 for example of why needed", and this test case does indeed fail if we undef that macro - it uses friend functions that are namespace qualified and very few compilers currently support that unfortunately. John.
if the following code is commented out from visualc.hpp the standard streaming operators become available for mersenne_twister - and they seem to work fine.
#if _MSC_VER <= 1310 # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS #endif
I admit to being a little surprised by that myself, I'll look into it...
OK it was disabled by Beman Dawes with the comment "See format_test1 for example of why needed", and this test case does indeed fail if we undef that macro.
replacing the guards around the streaming operators in mersenne_twister and lagged_fibonacci with: #if !defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) || (_MSC_VER >= 1310) allows the code for both classes to compile under VC7.1. perhaps we need finer grained guard macros? ian
participants (2)
-
John Maddock
-
Witz