NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
NOX::SharedObject< Object, Owner > Class Template Reference

Holder for objects that are shared between NOX::Abstract::Groups. More...

#include <NOX_SharedObjectTemplate.H>

Inheritance diagram for NOX::SharedObject< Object, Owner >:
Inheritance graph
[legend]
Collaboration diagram for NOX::SharedObject< Object, Owner >:
Collaboration graph
[legend]

Public Member Functions

 SharedObject (const Teuchos::RCP< Object > &newObject)
 Constructor.
 
 ~SharedObject ()
 Destructor.
 
Teuchos::RCP< Object > getObject (const Owner *newOwner)
 Get a non-const reference to the underlying object.
 
Teuchos::RCP< const Object > getObject () const
 Return a const reference to the underlying object.
 
bool isOwner (const Owner *checkOwner) const
 Return true if testOwner is the owner of the Jacobian.
 

Protected Attributes

Teuchos::RCP< Object > object
 Pointer to the shared object.
 
const Owner * owner
 Pointer to const object that owns the shared object.
 

Detailed Description

template<class Object, class Owner>
class NOX::SharedObject< Object, Owner >

Holder for objects that are shared between NOX::Abstract::Groups.

Due to the size of certain operators (i.e. the Jacobian and Preconditioning Matrices), we cannot afford to have multiple copies. Instead we implement a shared object class that that all groups use.


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