Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
Node class to keep track of address and the reference count for a reference-counted utility class and delete the object. More...
#include <Teuchos_RCPNode.hpp>
Classes | |
struct | extra_data_entry_t |
Public Member Functions | |
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) |
any & | get_extra_data (const std::string &type_name, const std::string &name) |
const any & | get_extra_data (const std::string &type_name, const std::string &name) const |
any * | get_optional_extra_data (const std::string &type_name, const std::string &name) |
const any * | get_optional_extra_data (const std::string &type_name, const std::string &name) const |
virtual bool | is_valid_ptr () const =0 |
virtual void | delete_obj ()=0 |
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 =0 |
virtual const std::string | get_base_obj_type_name () const =0 |
Protected Member Functions | |
void | pre_delete_extra_data () |
Private Types | |
typedef Teuchos::map < std::string, extra_data_entry_t > | extra_data_map_t |
Private Member Functions | |
TEUCHOS_RCP_DECL_ATOMIC (count_[2], int) | |
TEUCHOS_RCP_DECL_ATOMIC (has_ownership_, bool) | |
void | impl_pre_delete_extra_data () |
RCPNode () | |
RCPNode (const RCPNode &) | |
RCPNode & | operator= (const RCPNode &) |
Private Attributes | |
extra_data_map_t * | extra_data_map_ |
Related Functions | |
(Note that these are not member functions.) | |
TEUCHOSCORE_LIB_DLL_EXPORT void | throw_null_ptr_error (const std::string &type_name) |
Throw that a pointer passed into an RCP object is null. More... | |
Node class to keep track of address and the reference count for a reference-counted utility class and delete the object.
This is not a general user-level class. This is used in the implementation of all of the reference-counting utility classes.
NOTE: The reference counts all start a 0 so the client (i.e. RCPNodeHandle) must increment them from 0 after creation.
Definition at line 121 of file Teuchos_RCPNode.hpp.
|
private |
Definition at line 267 of file Teuchos_RCPNode.hpp.
|
inline |
Definition at line 124 of file Teuchos_RCPNode.hpp.
|
inlinevirtual |
Definition at line 134 of file Teuchos_RCPNode.hpp.
|
private |
|
private |
|
inline |
attemptIncrementStrongCountFromNonZeroValue() supports weak to strong conversion but this is forward looking code.
Definition at line 142 of file Teuchos_RCPNode.hpp.
|
inline |
Definition at line 170 of file Teuchos_RCPNode.hpp.
|
inline |
Definition at line 175 of file Teuchos_RCPNode.hpp.
|
inline |
Definition at line 180 of file Teuchos_RCPNode.hpp.
|
inline |
Definition at line 190 of file Teuchos_RCPNode.hpp.
|
inline |
Definition at line 201 of file Teuchos_RCPNode.hpp.
|
inline |
Definition at line 206 of file Teuchos_RCPNode.hpp.
void Teuchos::RCPNode::set_extra_data | ( | const any & | extra_data, |
const std::string & | name, | ||
EPrePostDestruction | destroy_when, | ||
bool | force_unique | ||
) |
Definition at line 183 of file Teuchos_RCPNode.cpp.
any & Teuchos::RCPNode::get_extra_data | ( | const std::string & | type_name, |
const std::string & | name | ||
) |
Definition at line 213 of file Teuchos_RCPNode.cpp.
|
inline |
Definition at line 218 of file Teuchos_RCPNode.hpp.
any * Teuchos::RCPNode::get_optional_extra_data | ( | const std::string & | type_name, |
const std::string & | name | ||
) |
Definition at line 233 of file Teuchos_RCPNode.cpp.
|
inline |
Definition at line 228 of file Teuchos_RCPNode.hpp.
|
pure virtual |
Implemented in Teuchos::RCPNodeTmpl< T, Dealloc_T >.
|
pure virtual |
Implemented in Teuchos::RCPNodeTmpl< T, Dealloc_T >.
|
pure virtual |
Implemented in Teuchos::RCPNodeTmpl< T, Dealloc_T >.
|
pure virtual |
Implemented in Teuchos::RCPNodeTmpl< T, Dealloc_T >.
|
inlineprotected |
Definition at line 253 of file Teuchos_RCPNode.hpp.
|
private |
|
private |
|
private |
Definition at line 245 of file Teuchos_RCPNode.cpp.
|
related |
Throw that a pointer passed into an RCP object is null.
|
private |
Definition at line 272 of file Teuchos_RCPNode.hpp.