reader_permit: resource_units: add constructor for already consumed res

This commit is contained in:
Botond Dénes
2022-11-29 14:02:44 +02:00
parent d2cfc25494
commit 87e2bf90b9
2 changed files with 6 additions and 1 deletions

View File

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

View File

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