#include <Teuchos_RCPNode.hpp>
Inheritance diagram for Teuchos::RCPNode:

Public Member Functions | |
| RCPNode (bool has_ownership_in) | |
| | |
| virtual | ~RCPNode () |
| | |
| int | strong_count () const |
| | |
| int | weak_count () const |
| | |
| int | 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 |
| | |
Protected Member Functions | |
| void | pre_delete_extra_data () |
| | |
Related Functions | |
| (Note that these are not member functions.) | |
| bool | isTracingActiveRCPNodes () |
| Return if we are tracing active nodes or not. | |
| void | printActiveRCPNodes (std::ostream &out) |
| Print the list of currently active RCP nodes. | |
This is not a general user-level class. This is used in the implementation of all of the reference-counting utility classes.
Definition at line 104 of file Teuchos_RCPNode.hpp.
| Teuchos::RCPNode::RCPNode | ( | bool | has_ownership_in | ) | [inline] |
| virtual Teuchos::RCPNode::~RCPNode | ( | ) | [inline, virtual] |
| int Teuchos::RCPNode::strong_count | ( | ) | const [inline] |
| int Teuchos::RCPNode::weak_count | ( | ) | const [inline] |
| int Teuchos::RCPNode::incr_count | ( | const ERCPStrength | strength | ) | [inline] |
| int Teuchos::RCPNode::deincr_count | ( | const ERCPStrength | strength | ) | [inline] |
| void Teuchos::RCPNode::has_ownership | ( | bool | has_ownership_in | ) | [inline] |
| bool Teuchos::RCPNode::has_ownership | ( | ) | const [inline] |
| void Teuchos::RCPNode::set_extra_data | ( | const any & | extra_data, | |
| const std::string & | name, | |||
| EPrePostDestruction | destroy_when, | |||
| bool | force_unique | |||
| ) |
| any & Teuchos::RCPNode::get_extra_data | ( | const std::string & | type_name, | |
| const std::string & | name | |||
| ) |
| const any& Teuchos::RCPNode::get_extra_data | ( | const std::string & | type_name, | |
| const std::string & | name | |||
| ) | const [inline] |
| any * Teuchos::RCPNode::get_optional_extra_data | ( | const std::string & | type_name, | |
| const std::string & | name | |||
| ) |
| const any* Teuchos::RCPNode::get_optional_extra_data | ( | const std::string & | type_name, | |
| const std::string & | name | |||
| ) | const [inline] |
| virtual bool Teuchos::RCPNode::is_valid_ptr | ( | ) | const [pure virtual] |
| virtual void Teuchos::RCPNode::delete_obj | ( | ) | [pure virtual] |
| virtual void Teuchos::RCPNode::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 [pure virtual] |
| void Teuchos::RCPNode::pre_delete_extra_data | ( | ) | [inline, protected] |
| bool isTracingActiveRCPNodes | ( | ) | [related] |
Return if we are tracing active nodes or not.
NOTE: This will always return false when TEUCHOS_DEBUG is not defined.
Definition at line 256 of file Teuchos_RCPNode.cpp.
| void printActiveRCPNodes | ( | std::ostream & | out | ) | [related] |
Print the list of currently active RCP nodes.
When the macro TEUCHOS_SHOW_ACTIVE_REFCOUNTPTR_NODE_TRACE is defined, this function will print out all of the RCP nodes that are currently active. This function can be called at any time during a program.
When the macro TEUCHOS_SHOW_ACTIVE_REFCOUNTPTR_NODE_TRACE is defined this function will get called automatically after the program ends and all of the local and global RCP objects have been destroyed. If any RCP nodes are printed at that time, then this is an indication that there may be some circular references that will caused memory leaks. You memory checking tool such as valgrind or purify should complain about this!
Definition at line 285 of file Teuchos_RCPNode.cpp.
1.4.7