[1.50.0] Boost release 1.50.0 available

Release 1.50.0 of the Boost C++ Libraries is now available. These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use. This release contains four new libraries (Algorithm, Functional/OverloadedFunction, LocalFunction and Utility/IdentityType) and numerous enhancements and bug fixes for existing libraries. For details, including download links, see http://www.boost.org/users/news/version_1_50_0 You can also download directly from SourceForge: http://sourceforge.net/projects/boost/files/boost/1.50.0/ To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html Thanks, --The Boost release team Beman Dawes Daniel James Eric Niebler Marshall Clow Rene Rivera Vladimir Prus

Boost.Foreach causes compilation errors when using Microsoft Visual Studio 10. The issue can be resolved by adding #include <boost/utility/enable_if.hpp> to boost/for_each.hpp. On 6/28/2012 3:31 PM, Beman Dawes wrote:
Release 1.50.0 of the Boost C++ Libraries is now available.
These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
This release contains four new libraries (Algorithm, Functional/OverloadedFunction, LocalFunction and Utility/IdentityType) and numerous enhancements and bug fixes for existing libraries. For details, including download links, see http://www.boost.org/users/news/version_1_50_0
You can also download directly from SourceForge: http://sourceforge.net/projects/boost/files/boost/1.50.0/
To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html
Thanks,
--The Boost release team
Beman Dawes Daniel James Eric Niebler Marshall Clow Rene Rivera Vladimir Prus _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

On 6/29/2012 5:36 AM, Sergiu Dotenco wrote:
Boost.Foreach causes compilation errors when using Microsoft Visual Studio 10. The issue can be resolved by adding
#include <boost/utility/enable_if.hpp>
to boost/for_each.hpp.
I'm not seeing that. The following program compiles cleanly for me on VC10. #include <boost/foreach.hpp> int main() {} The only place enable_if is used in foreach.hpp is conditionally guarded by a macro, and #include <boost/utility/enable_if.hpp> is conditionally guarded by the same macro. Can you send a minimal program that demonstrates the error? -- Eric Niebler BoostPro Computing http://www.boostpro.com

On 6/29/2012 7:51 PM, Eric Niebler wrote:
On 6/29/2012 5:36 AM, Sergiu Dotenco wrote:
Boost.Foreach causes compilation errors when using Microsoft Visual Studio 10. The issue can be resolved by adding
#include <boost/utility/enable_if.hpp>
to boost/for_each.hpp.
I'm not seeing that. The following program compiles cleanly for me on VC10.
#include <boost/foreach.hpp> int main() {}
The only place enable_if is used in foreach.hpp is conditionally guarded by a macro, and #include <boost/utility/enable_if.hpp> is conditionally guarded by the same macro.
Can you send a minimal program that demonstrates the error?
My apologies, Eric. The compilation errors are not caused by Boost.Foreach. I should have been more careful while summarizing the issue details. The problem seems to be in boost/range/algorithm/for_each.hpp. If I try to compile the following snippet using VC10, #include <boost/range/algorithm/for_each.hpp> void foo(int) { } int main() { int a[] = { 1, 2, 3 }; boost::for_each(a, foo); } the compiler outputs boost_1_50_0\boost\range\algorithm\for_each.hpp(34): error C2143: syntax error : missing ',' before '<' boost_1_50_0\boost\range\algorithm\for_each.hpp(34): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int boost_1_50_0\boost\range\algorithm\for_each.hpp(52): error C2143: syntax error : missing ',' before '<' boost_1_50_0\boost\range\algorithm\for_each.hpp(52): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int boost_1_50_0\boost\range\algorithm\for_each.hpp(58): error C2995: 'UnaryFunction boost::range::for_each_detail::for_each_impl(Iterator,Iterator,UnaryFunction,int)' : function template has already been defined boost_1_50_0\boost\range\algorithm\for_each.hpp(33) : see declaration of 'boost::range::for_each_detail::for_each_impl' due to the missing #include <boost/utility/enable_if.hpp> in boost/range/algorithm/for_each.hpp.

On 6/29/2012 12:15 PM, Sergiu Dotenco wrote:
The problem seems to be in boost/range/algorithm/for_each.hpp. If I try to compile the following snippet using VC10,
#include <boost/range/algorithm/for_each.hpp>
void foo(int) { }
int main() { int a[] = { 1, 2, 3 }; boost::for_each(a, foo); }
the compiler outputs
boost_1_50_0\boost\range\algorithm\for_each.hpp(34): error C2143: syntax error : missing ',' before '<' boost_1_50_0\boost\range\algorithm\for_each.hpp(34): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int boost_1_50_0\boost\range\algorithm\for_each.hpp(52): error C2143: syntax error : missing ',' before '<' boost_1_50_0\boost\range\algorithm\for_each.hpp(52): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int boost_1_50_0\boost\range\algorithm\for_each.hpp(58): error C2995: 'UnaryFunction boost::range::for_each_detail::for_each_impl(Iterator,Iterator,UnaryFunction,int)' : function template has already been defined boost_1_50_0\boost\range\algorithm\for_each.hpp(33) : see declaration of 'boost::range::for_each_detail::for_each_impl'
due to the missing
#include <boost/utility/enable_if.hpp>
in boost/range/algorithm/for_each.hpp.
Thanks. Please file a bug against the Boost.Range library. Seems like a trivial fix. -- Eric Niebler BoostPro Computing http://www.boostpro.com
participants (3)
-
Beman Dawes
-
Eric Niebler
-
Sergiu Dotenco