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 https://github.com/boostorg/thread/issues/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.
# By Vicente J. Botet Escriba (274) and others
# Via Vicente J. Botet Escriba (42) and others
* 'master' of https://github.com/boostorg/thread: (318 commits)
Added missing include.
cleanup future.hpp.
Updated CI dashboard with latest tests.
Looks like timeconv.inl may be completely unnecessary, so remove.
Could find no code anywhere in Boost which uses to_time(), to_timespec_duration(), to_duration() nor to_microduration(), so removed the code.
Fixed MSVC static analyser warning about writing off the end of an array.
Stop LNK4221 link warning with link=static.
Suppressed some unimportant warnings so the CI doesn't flag them.
Added static analysers to CI dashboard.
Added winphone8 build test.
Fix failure to build on Android.
redo
Added overall build and test status
Added test matrix to Readme.md so a summary appears on github
fix some typos.
ensure that the exceptions throw by a task submitted by a serial executor are transfered to it, and so the serial_executor doesn't block forever.
No comment after preprocessor continuation for msvc-12.0
Added ! defined __clang__ when tested defined __GNUC__.
Added BOOST_THREAD_PROVIDES_INVOKE constraing for invoker.
thread: physical_concurrency - return 0 instead of hardware_concurrency on failure
...
Conflicts:
test/test_2741.cpp
Reverting disabling thread attributes for WinRT.
Created common GetSystemInfo/GetNativeSystemInfo function.
Fix this_thread get_id() bug on WinRT.
Enabled initializing the Windows Runtime in each test for execution. This
is not when using in Windows store/phone applications, just if a desktop
app.
This involves basically 3 changes:
1. Using __declspec(thread) instead of the Tls APIs.
2. Using Windows::System::Threading since Win32 Threading APIs aren't allowed.
3. Updating or replacing some banned APIs like WaitForSingleObject with WaitForSingleObjectEx.