Teuchos Package Browser (Single Doxygen Collection) Version of the Day
|virtual RCP< Base >||getRcp ()=0|
|Return a safely-created RCP to the base type. |
Class Handleable provides an abstract interface for polymorphic conversion from raw pointers to smart pointers.
Recall from the Teuchos RCP 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.