浏览代码

Some fixes.

main
offa 7 年前
父节点
当前提交
454462d936
共有 1 个文件被更改,包括 9 次插入2 次删除
  1. +9
    -2
      include/unique_resource.h

+ 9
- 2
include/unique_resource.h 查看文件

@@ -51,7 +51,7 @@ namespace sr
std::enable_if_t<is_nothrow_move_or_copy_constructible_from_v<R, RR>, int> = 0,
std::enable_if_t<is_nothrow_move_or_copy_constructible_from_v<D, DD>, int> = 0
>
explicit unique_resource(RR&& r, DD& d) : m_resource(std::move(r)), m_deleter(std::move(d))
explicit unique_resource(RR&& r, DD&& d) : m_resource(std::move(r)), m_deleter(std::move(d)), m_execute_on_destruction(true)
{
}

@@ -63,7 +63,7 @@ namespace sr
std::enable_if_t<is_nothrow_move_or_copy_constructible_from_v<R, RR>, int> = 0,
std::enable_if_t<is_nothrow_move_or_copy_constructible_from_v<D, DD>, int> = 0
>
explicit unique_resource(RR&& r, DD& d) try : m_resource(r), m_deleter(d)
explicit unique_resource(RR&& r, DD&& d) try : m_resource(r), m_deleter(d), m_execute_on_destruction(true)
{
}
catch( ... )
@@ -94,6 +94,13 @@ namespace sr

unique_resource(const unique_resource&) = delete;

~unique_resource()
{
if( m_execute_on_destruction == true )
{
m_deleter(m_resource);
}
}


unique_resource& operator=(unique_resource&& other);

正在加载...
取消
保存