| @@ -91,6 +91,12 @@ namespace sr | |||
| } | |||
| const Deleter& get_deleter() const noexcept | |||
| { | |||
| return m_deleter; | |||
| } | |||
| unique_resource_t& operator=(unique_resource_t&& other) noexcept | |||
| { | |||
| invoke(invoke_it::once); | |||
| @@ -256,3 +256,14 @@ TEST_CASE("conversion operator accesses ressource", "[UniqueResource]") | |||
| REQUIRE(ref == 3); | |||
| } | |||
| // TODO: conditional access functions | |||
| TEST_CASE("deleter access", "[UniqueResource]") | |||
| { | |||
| std::size_t value{0}; | |||
| auto guard = sr::unique_resource(Handle{3}, [&value](auto v) { value = v; }); | |||
| REQUIRE(value == 0); | |||
| guard.get_deleter()(6); | |||
| REQUIRE(value == 6); | |||
| } | |||