This is Unofficial EPICS BASE Doxygen Site
pvac::detail::wrapped_shared_from_this< Derived > Struct Template Reference

#include "clientpvt.h"

Public Member Functions

std::tr1::shared_ptr< Derived > internal_shared_from_this ()
 

Static Public Member Functions

static std::tr1::shared_ptr< Derived > build ()
 
template<typename A >
static std::tr1::shared_ptr< Derived > build (A a)
 
template<typename A , typename B >
static std::tr1::shared_ptr< Derived > build (A a, B b)
 

Detailed Description

template<typename Derived>
struct pvac::detail::wrapped_shared_from_this< Derived >

Definition at line 27 of file clientpvt.h.

Member Function Documentation

template<typename Derived>
static std::tr1::shared_ptr<Derived> pvac::detail::wrapped_shared_from_this< Derived >::build ( )
inlinestatic

Definition at line 62 of file clientpvt.h.

62  {
63  std::tr1::shared_ptr<Derived> inner(new Derived),
64  ret(inner.get(), canceller(inner));
65  inner->myselfptr = inner;
66  return ret;
67  }
template<typename Derived>
template<typename A >
static std::tr1::shared_ptr<Derived> pvac::detail::wrapped_shared_from_this< Derived >::build ( a)
inlinestatic

Definition at line 71 of file clientpvt.h.

71  {
72  std::tr1::shared_ptr<Derived> inner(new Derived(a)),
73  ret(inner.get(), canceller(inner));
74  inner->myselfptr = inner;
75  return ret;
76  }
template<typename Derived>
template<typename A , typename B >
static std::tr1::shared_ptr<Derived> pvac::detail::wrapped_shared_from_this< Derived >::build ( a,
b 
)
inlinestatic

Definition at line 80 of file clientpvt.h.

80  {
81  std::tr1::shared_ptr<Derived> inner(new Derived(a, b)),
82  ret(inner.get(), canceller(inner));
83  inner->myselfptr = inner;
84  return ret;
85  }
template<typename Derived>
std::tr1::shared_ptr<Derived> pvac::detail::wrapped_shared_from_this< Derived >::internal_shared_from_this ( )
inline

Definition at line 44 of file clientpvt.h.

44  {
45  std::tr1::shared_ptr<Derived> ret(myselfptr);
46  if(!ret)
47  throw std::tr1::bad_weak_ptr();
48  return ret;
49  }

The documentation for this struct was generated from the following file: