Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Teuchos::RCPNodeTmpl< T, Dealloc_T > Class Template Reference

Templated implementation class of RCPNode that has the responsibility for deleting the reference-counted object. More...

#include <Teuchos_RCPNode.hpp>

Inheritance diagram for Teuchos::RCPNodeTmpl< T, Dealloc_T >:
Inheritance graph
[legend]

Public Member Functions

 RCPNodeTmpl (T *p, Dealloc_T dealloc, bool has_ownership_in)
 For defined types. More...
 
 RCPNodeTmpl (T *p, Dealloc_T dealloc, bool has_ownership_in, ENull)
 For undefined types . More...
 
Dealloc_T & get_nonconst_dealloc ()
 
const Dealloc_T & get_dealloc () const
 
 ~RCPNodeTmpl ()
 
virtual bool is_valid_ptr () const
 
virtual void delete_obj ()
 Delete the underlying object. Will abort if an exception is detected in the destructor. More...
 
virtual void throw_invalid_obj_exception (const std::string &rcp_type_name, const void *rcp_ptr, const RCPNode *rcp_node_ptr, const void *rcp_obj_ptr) const
 
const std::string get_base_obj_type_name () const
 
- Public Member Functions inherited from Teuchos::RCPNode
 RCPNode (bool has_ownership_in)
 
virtual ~RCPNode ()
 
bool attemptIncrementStrongCountFromNonZeroValue ()
 attemptIncrementStrongCountFromNonZeroValue() supports weak to strong conversion but this is forward looking code. More...
 
int strong_count () const
 
int weak_count () const
 
void incr_count (const ERCPStrength strength)
 
int deincr_count (const ERCPStrength strength)
 
void has_ownership (bool has_ownership_in)
 
bool has_ownership () const
 
void set_extra_data (const any &extra_data, const std::string &name, EPrePostDestruction destroy_when, bool force_unique)
 
anyget_extra_data (const std::string &type_name, const std::string &name)
 
const anyget_extra_data (const std::string &type_name, const std::string &name) const
 
anyget_optional_extra_data (const std::string &type_name, const std::string &name)
 
const anyget_optional_extra_data (const std::string &type_name, const std::string &name) const
 

Private Member Functions

 RCPNodeTmpl ()
 
 RCPNodeTmpl (const RCPNodeTmpl &)
 
RCPNodeTmploperator= (const RCPNodeTmpl &)
 

Private Attributes

T * ptr_
 
Dealloc_T dealloc_
 

Additional Inherited Members

- Protected Member Functions inherited from Teuchos::RCPNode
void pre_delete_extra_data ()
 

Detailed Description

template<class T, class Dealloc_T>
class Teuchos::RCPNodeTmpl< T, Dealloc_T >

Templated implementation class of RCPNode that has the responsibility for deleting the reference-counted object.

Definition at line 558 of file Teuchos_RCPNode.hpp.

Constructor & Destructor Documentation

template<class T, class Dealloc_T>
Teuchos::RCPNodeTmpl< T, Dealloc_T >::RCPNodeTmpl ( T *  p,
Dealloc_T  dealloc,
bool  has_ownership_in 
)
inline

For defined types.

Definition at line 561 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
Teuchos::RCPNodeTmpl< T, Dealloc_T >::RCPNodeTmpl ( T *  p,
Dealloc_T  dealloc,
bool  has_ownership_in,
ENull   
)
inline

For undefined types .

Definition at line 570 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
Teuchos::RCPNodeTmpl< T, Dealloc_T >::~RCPNodeTmpl ( )
inline

Definition at line 585 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
Teuchos::RCPNodeTmpl< T, Dealloc_T >::RCPNodeTmpl ( )
private
template<class T, class Dealloc_T>
Teuchos::RCPNodeTmpl< T, Dealloc_T >::RCPNodeTmpl ( const RCPNodeTmpl< T, Dealloc_T > &  )
private

Member Function Documentation

template<class T, class Dealloc_T>
Dealloc_T& Teuchos::RCPNodeTmpl< T, Dealloc_T >::get_nonconst_dealloc ( )
inline

Definition at line 579 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
const Dealloc_T& Teuchos::RCPNodeTmpl< T, Dealloc_T >::get_dealloc ( ) const
inline

Definition at line 582 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
virtual bool Teuchos::RCPNodeTmpl< T, Dealloc_T >::is_valid_ptr ( ) const
inlinevirtual

Implements Teuchos::RCPNode.

Definition at line 594 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
virtual void Teuchos::RCPNodeTmpl< T, Dealloc_T >::delete_obj ( )
inlinevirtual

Delete the underlying object. Will abort if an exception is detected in the destructor.

Implements Teuchos::RCPNode.

Definition at line 601 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
virtual void Teuchos::RCPNodeTmpl< T, Dealloc_T >::throw_invalid_obj_exception ( const std::string &  rcp_type_name,
const void *  rcp_ptr,
const RCPNode rcp_node_ptr,
const void *  rcp_obj_ptr 
) const
inlinevirtual

Implements Teuchos::RCPNode.

Definition at line 623 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
const std::string Teuchos::RCPNodeTmpl< T, Dealloc_T >::get_base_obj_type_name ( ) const
inlinevirtual

Implements Teuchos::RCPNode.

Definition at line 666 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
RCPNodeTmpl& Teuchos::RCPNodeTmpl< T, Dealloc_T >::operator= ( const RCPNodeTmpl< T, Dealloc_T > &  )
private

Member Data Documentation

template<class T, class Dealloc_T>
T* Teuchos::RCPNodeTmpl< T, Dealloc_T >::ptr_
private

Definition at line 682 of file Teuchos_RCPNode.hpp.

template<class T, class Dealloc_T>
Dealloc_T Teuchos::RCPNodeTmpl< T, Dealloc_T >::dealloc_
private

Definition at line 687 of file Teuchos_RCPNode.hpp.


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