throwing_ptr
Smart pointers that throw on dereference if null
Functions
unique_ptr_release.cpp File Reference

Go to the source code of this file.

Functions

 TEST_CASE ("unique_ptr to single object release", "[unique_ptr][release]")
 
 TEST_CASE ("unique_ptr to array release", "[unique_ptr][release]")
 

Function Documentation

◆ TEST_CASE() [1/2]

TEST_CASE ( "unique_ptr to single object release"  ,
""  [unique_ptr][release] 
)

Definition at line 20 of file unique_ptr_release.cpp.

21  {
22  int * p = new int;
24  REQUIRE(uptr.get() == p);
25  REQUIRE(uptr.release() == p);
26  REQUIRE(uptr.get() == nullptr);
27  delete p;
28  REQUIRE(!uptr.get_deleter().called);
29 }
unique_ptr that manages a single object
Definition: unique_ptr.hpp:38

◆ TEST_CASE() [2/2]

TEST_CASE ( "unique_ptr to array release"  ,
""  [unique_ptr][release] 
)

Definition at line 31 of file unique_ptr_release.cpp.

32  {
33  int * p = new int[10];
35  REQUIRE(uptr.get() == p);
36  REQUIRE(uptr.release() == p);
37  REQUIRE(uptr.get() == nullptr);
38  delete [] p;
39  REQUIRE(!uptr.get_deleter().called);
40 }
unique_ptr that manages a single object
Definition: unique_ptr.hpp:38