Scroom  0.14
boost-smart-pointers.cc File Reference
#include <boost/bind/bind.hpp>
#include <boost/function.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/test/unit_test.hpp>
#include <boost/weak_ptr.hpp>
Include dependency graph for boost-smart-pointers.cc:

Classes

class  anonymous_namespace{boost-smart-pointers.cc}::A
 

Namespaces

 anonymous_namespace{boost-smart-pointers.cc}
 

Functions

 BOOST_AUTO_TEST_CASE (bind_copies_smart_pointer)
 

Function Documentation

◆ BOOST_AUTO_TEST_CASE()

BOOST_AUTO_TEST_CASE ( bind_copies_smart_pointer  )
39 {
40  A::Ptr a = A::create();
41  BOOST_CHECK(a);
42  A::WeakPtr const a_weak = a;
43  BOOST_CHECK(a_weak.lock());
44 
45  boost::function<void()> const fn = boost::bind(&A::whatever, a);
46  a.reset();
47  BOOST_CHECK(!a);
48  BOOST_CHECK(a_weak.lock());
49 }
Here is the call graph for this function:
Scroom::MemoryBlocks::RawPageData::WeakPtr
boost::weak_ptr< uint8_t > WeakPtr
Definition: blockallocator.hh:24
A::Ptr
boost::shared_ptr< A > Ptr
Definition: boost-bind.cc:27
A::create
static Ptr create(int &i)
Definition: boost-bind.cc:38