-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
boost/thread/detail/thread.hpp #includes boost/bind.hpp unconditionally but uses it conditionally #307
Open
dmenendez-gruposantander opened this issue
Feb 10, 2020
· 0 comments
· Fixed by Brugarolas/cpp-thread#10 · May be fixed by #309
Open
boost/thread/detail/thread.hpp #includes boost/bind.hpp unconditionally but uses it conditionally #307
dmenendez-gruposantander opened this issue
Feb 10, 2020
· 0 comments
· Fixed by Brugarolas/cpp-thread#10 · May be fixed by #309
Comments
Lastique
added a commit
to Lastique/thread
that referenced
this issue
Mar 3, 2020
…ncludes. 1. Replace boost/bind.hpp includes with boost/bind/bind.hpp. This fixes deprecation warnings generated by the old header: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. 2. Make inclusion of boost/bind/bind.hpp conditional in some cases, when the code actually conditionally uses boost::bind. Reduces compile-time overhead and fixes boostorg#307. 3. Remove some unnecessary uses of boost::ref. This allows to avoid including boost/core/ref.hpp in a few places, and avoids the associated template instantiation overhead in others. 4. Replace deprecated header includes with the more recent alternatives. For example: boost/detail/lightweight_test.hpp -> boost/core/lightweight_test.hpp, boost/ref.hpp -> boost/core/ref.hpp. 5. Replace some blanket includes with the more fine-grained ones. For example, boost/utility.hpp, boost/atomic.hpp. This reduces compile time overhead. 6. Add some missing includes, for example, boost/core/ref.hpp and boost/type_traits/is_same.hpp. 7. Replace uses of std::is_same with boost::is_same (with the corresponding included header) since the standard type_traits header presence and validity is not tested by the code. Using boost::is_same makes the code more portable.
Lastique
added a commit
to Lastique/thread
that referenced
this issue
Apr 4, 2020
1. Make inclusion of boost/bind/bind.hpp conditional in some cases, when the code actually conditionally uses boost::bind. Reduces compile-time overhead and fixes boostorg#307. 2. Remove some unnecessary uses of boost::ref. This allows to avoid including boost/core/ref.hpp in a few places, and avoids the associated template instantiation overhead in others. 3. Replace deprecated header includes with the more recent alternatives. For example: boost/detail/lightweight_test.hpp -> boost/core/lightweight_test.hpp, boost/ref.hpp -> boost/core/ref.hpp. 4. Replace some blanket includes with the more fine-grained ones. For example, boost/utility.hpp, boost/atomic.hpp. This reduces compile time overhead. 5. Add some missing includes, for example, boost/core/ref.hpp and boost/type_traits/is_same.hpp. 6. Replace uses of std::is_same with boost::is_same (with the corresponding included header) since the standard type_traits header presence and validity is not tested by the code. Using boost::is_same makes the code more portable.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I can see boost::bind() used only if BOOST_THREAD_PROVIDES_VARIADIC_THREAD is not defined
Could the #include <boost/bind.hpp> be moved inside a #ifndef BOOST_THREAD_PROVIDES_VARIADIC_THREAD section? In fact I'd move it inside an #else section under line 50
Boost.Bind brings in a lot of cruft, that is, increased compile times and funny warnings
boost/bind/placeholders.hpp(54): note: see reference to class template instantiation 'boost::arg<9>' being compiled
Happy to provide a PR
The text was updated successfully, but these errors were encountered: