Teuchos - Trilinos Tools Package  Version of the Day
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 1005 of file Teuchos_RCPNode.hpp.

Constructor & Destructor Documentation

◆ RCPNodeThrowDeleter()

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

Definition at line 1008 of file Teuchos_RCPNode.hpp.

◆ ~RCPNodeThrowDeleter()

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 1016 of file Teuchos_RCPNode.hpp.

Member Function Documentation

◆ get()

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

Definition at line 1025 of file Teuchos_RCPNode.hpp.

◆ release()

void Teuchos::RCPNodeThrowDeleter::release ( )
inline

Releaes the RCPNode pointer before the destructor is called.

Definition at line 1030 of file Teuchos_RCPNode.hpp.


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