reader_permit: resource_units: remove noexcept qualifier from constructor

It won't be noexcept soon. Also make it exception safe.
This commit is contained in:
Botond Dénes
2022-11-29 13:59:52 +02:00
parent 7eb093899a
commit d2cfc25494
2 changed files with 4 additions and 2 deletions

View File

@@ -26,9 +26,10 @@ std::ostream& operator<<(std::ostream& os , const reader_resources& r) {
return os;
}
reader_permit::resource_units::resource_units(reader_permit permit, reader_resources res) noexcept
reader_permit::resource_units::resource_units(reader_permit permit, reader_resources res)
: _permit(std::move(permit)), _resources(res) {
_permit.consume(res);
_resources = res;
}
reader_permit::resource_units::resource_units(resource_units&& o) noexcept

View File

@@ -171,7 +171,8 @@ class reader_permit::resource_units {
friend class reader_permit;
friend class reader_concurrency_semaphore;
private:
resource_units(reader_permit permit, reader_resources res) noexcept;
class already_consumed_tag {};
resource_units(reader_permit permit, reader_resources res);
public:
resource_units(const resource_units&) = delete;
resource_units(resource_units&&) noexcept;