ソースを参照

Conversion operator implemented.

main
offa 7年前
コミット
0d6173398c
2個のファイルの変更13行の追加1行の削除
  1. +5
    -0
      include/unique_resource.h
  2. +8
    -1
      test/UniqueResourceTest.cpp

+ 5
- 0
include/unique_resource.h ファイルの表示

@@ -85,6 +85,11 @@ namespace sr
return m_resource;
}

operator const Ressource&() const noexcept
{
return m_resource;
}


unique_resource_t& operator=(unique_resource_t&& other) noexcept
{

+ 8
- 1
test/UniqueResourceTest.cpp ファイルの表示

@@ -243,9 +243,16 @@ TEST_CASE("reset sets ressource", "[UniqueResource]")
REQUIRE(guard.get() == 7);
}

TEST_CASE("get returns ressource", "[UniqueResource]")
TEST_CASE("get accesses ressource", "[UniqueResource]")
{
auto guard = sr::unique_resource(Handle{3}, [](auto) { });
REQUIRE(guard.get() == 3);
}

TEST_CASE("conversion operator accesses ressource", "[UniqueResource]")
{
auto guard = sr::unique_resource(Handle{3}, [](auto) { });
const auto& ref = guard;
REQUIRE(ref == 3);
}


読み込み中…
キャンセル
保存