} | } | ||||
const Deleter& get_deleter() const noexcept | |||||
{ | |||||
return m_deleter; | |||||
} | |||||
unique_resource_t& operator=(unique_resource_t&& other) noexcept | unique_resource_t& operator=(unique_resource_t&& other) noexcept | ||||
{ | { | ||||
invoke(invoke_it::once); | invoke(invoke_it::once); |
REQUIRE(ref == 3); | 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); | |||||
} |