Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Teuchos::RCPNodeThrowDeleter Class Reference

Deletes a (non-owning) RCPNode but not it's underlying object in case of a throw. More...

#include <Teuchos_RCPNode.hpp>

Public Member Functions

 RCPNodeThrowDeleter (RCPNode *node)
 
 ~RCPNodeThrowDeleter ()
 Called with node_!=0 when an exception is thrown. More...
 
RCPNodeget () const
 
void release ()
 Releaes the RCPNode pointer before the destructor is called. More...
 

Detailed Description

Deletes a (non-owning) RCPNode but not it's underlying object in case of a throw.

This class is used in contexts where RCPNodeTracer::addNewRCPNode(...) might thrown an exception for a duplicate node being added. The assumption is that there must already be an owning (or non-owning) RCP object that will delete the underlying object and therefore this class should not call delete_obj()!

Definition at line 1117 of file Teuchos_RCPNode.hpp.

Constructor & Destructor Documentation

Teuchos::RCPNodeThrowDeleter::RCPNodeThrowDeleter ( RCPNode node)
inline

Definition at line 1120 of file Teuchos_RCPNode.hpp.

Teuchos::RCPNodeThrowDeleter::~RCPNodeThrowDeleter ( )
inline

Called with node_!=0 when an exception is thrown.

When an exception is not thrown, the client should have called release() before this function is called.

Definition at line 1128 of file Teuchos_RCPNode.hpp.

Member Function Documentation

RCPNode* Teuchos::RCPNodeThrowDeleter::get ( ) const
inline

Definition at line 1137 of file Teuchos_RCPNode.hpp.

void Teuchos::RCPNodeThrowDeleter::release ( )
inline

Releaes the RCPNode pointer before the destructor is called.

Definition at line 1142 of file Teuchos_RCPNode.hpp.


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