| 2016 | |
| 2017 | template <typename T, details::ProgressBarOption id> |
| 2018 | void set_option(details::Setting<T, id> &&setting) { |
| 2019 | static_assert( |
| 2020 | !std::is_same<T, typename std::decay<decltype(details::get_value<id>( |
| 2021 | std::declval<Settings>()))>::type>::value, |
| 2022 | "Setting has wrong type!"); |
| 2023 | std::lock_guard<std::mutex> lock(mutex_); |
| 2024 | get_value<id>() = std::move(setting).value; |
| 2025 | } |
| 2026 | |
| 2027 | template <typename T, details::ProgressBarOption id> |
| 2028 | void set_option(const details::Setting<T, id> &setting) { |