Playa::Handleable< Base > Class Template Reference

#include <PlayaHandleable.hpp>

List of all members.

Public Member Functions

virtual ~Handleable ()
virtual RCP< Base > getRcp ()=0

Detailed Description

template<class Base>
class Playa::Handleable< Base >

Class Handleable provides an abstract interface for polymorphic conversion from raw pointers to smart pointers. Recall from the Teuchos RefCountPtr documentation that one should never create directly a smart pointer from a raw pointer; rather, smart pointers should be created through a call to rcp(). The type of the argument to rcp() must be known at compile time. This makes the syntax
 Handle h = new Derived();
impossible with the straightforward implementation in which Handle takes a raw pointer to a Base. In order to preserve this clean syntax, we require any handles supporting this syntax to take a raw pointer to a Handleable<Base>, where Handleable<Base> provides a getRcp() method which returns the result of a call to rcp() on this.

Definition at line 36 of file PlayaHandleable.hpp.

Constructor & Destructor Documentation

template<class Base>
virtual Playa::Handleable< Base >::~Handleable (  )  [inline, virtual]

Virtual dtor

Definition at line 40 of file PlayaHandleable.hpp.

Member Function Documentation

template<class Base>
virtual RCP<Base> Playa::Handleable< Base >::getRcp (  )  [pure virtual]

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