do not use CTAD for std-types if no deduction rule defined

Fixes clang warning '-Wctad-maybe-unsupported'.
This commit is contained in:
Tom 2020-08-01 14:24:37 +02:00
parent 311cb6e02a
commit 1f8522952b
2 changed files with 10 additions and 10 deletions

View File

@ -38,7 +38,7 @@ public:
// This lock is required to avoid a data race between calls to
// `AtomicCondition::get` when called in `AtomicCondition::wait_*` through
// a predicate.
std::unique_lock lock(this->mutex_);
std::unique_lock<std::mutex> lock(this->mutex_);
this->value_.store(val);
}
@ -61,14 +61,14 @@ public:
template<typename... Args>
auto wait(Args&&... args) const
{
std::unique_lock lock(this->mutex_);
std::unique_lock<std::mutex> lock(this->mutex_);
return this->condvar_.wait(lock, std::forward<Args>(args)...);
}
template<typename... Args>
auto wait_value(ValueType value, Args&&... args) const
{
std::unique_lock lock(this->mutex_);
std::unique_lock<std::mutex> lock(this->mutex_);
return this->condvar_.wait(
lock,
std::forward<Args>(args)...,
@ -80,14 +80,14 @@ public:
template<typename... Args>
auto wait_for(Args&&... args) const
{
std::unique_lock lock(this->mutex_);
std::unique_lock<std::mutex> lock(this->mutex_);
return this->condvar_.wait_for(lock, std::forward<Args>(args)...);
}
template<typename... Args>
auto wait_for_value(ValueType value, Args&&... args) const
{
std::unique_lock lock(this->mutex_);
std::unique_lock<std::mutex> lock(this->mutex_);
return this->condvar_.wait_for(
lock,
std::forward<Args>(args)...,
@ -99,14 +99,14 @@ public:
template<typename... Args>
auto wait_until(Args&&... args) const
{
std::unique_lock lock(this->mutex_);
std::unique_lock<std::mutex> lock(this->mutex_);
return this->condvar_.wait_until(lock, std::forward<Args>(args)...);
}
template<typename... Args>
auto wait_until_value(ValueType value, Args&&... args) const
{
std::unique_lock lock(this->mutex_);
std::unique_lock<std::mutex> lock(this->mutex_);
return this->condvar_.wait_until(
lock,
std::forward<Args>(args)...,

View File

@ -264,7 +264,7 @@ TEST_CASE("async_sigwait_handler-condition")
TEST_CASE("constructor-thread-blocks-signals")
{
std::atomic last_signal(0);
std::atomic<int> last_signal(0);
sgnl::SignalHandler signal_handler({SIGTERM, SIGINT});
auto handler = [&last_signal](int signum) {
@ -297,7 +297,7 @@ TEST_CASE("constructor-thread-blocks-signals")
TEST_CASE("sleeping-workers-with-exit-condition")
{
sgnl::AtomicCondition exit_condition(false);
std::initializer_list signals({SIGINT, SIGTERM, SIGUSR1, SIGUSR2});
std::initializer_list<int> signals = {SIGINT, SIGTERM, SIGUSR1, SIGUSR2};
for( auto test_signal : signals )
{
exit_condition.set(false);
@ -338,7 +338,7 @@ TEST_CASE("sleeping-workers-with-exit-condition")
TEST_CASE("looping-workers-with-exit-condition")
{
sgnl::AtomicCondition exit_condition(false);
std::initializer_list signals({SIGINT, SIGTERM, SIGUSR1, SIGUSR2});
std::initializer_list<int> signals = {SIGINT, SIGTERM, SIGUSR1, SIGUSR2};
for( auto test_signal : signals )
{
exit_condition.set(false);