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]

List of all members.

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.

Definition at line 58 of file NOX_SharedObjectTemplate.H.


Constructor & Destructor Documentation

template<class Object, class Owner>
NOX::SharedObject< Object, Owner >::SharedObject ( const Teuchos::RCP< Object > &  newObject  )  [inline]

Constructor.

Definition at line 63 of file NOX_SharedObjectTemplate.H.

template<class Object, class Owner>
NOX::SharedObject< Object, Owner >::~SharedObject (  )  [inline]

Destructor.

Definition at line 67 of file NOX_SharedObjectTemplate.H.


Member Function Documentation

template<class Object, class Owner>
Teuchos::RCP<Object> NOX::SharedObject< Object, Owner >::getObject ( const Owner *  newOwner  )  [inline]

template<class Object, class Owner>
Teuchos::RCP<const Object> NOX::SharedObject< Object, Owner >::getObject (  )  const [inline]

Return a const reference to the underlying object.

Definition at line 78 of file NOX_SharedObjectTemplate.H.

template<class Object, class Owner>
bool NOX::SharedObject< Object, Owner >::isOwner ( const Owner *  checkOwner  )  const [inline]

Return true if testOwner is the owner of the Jacobian.

Definition at line 82 of file NOX_SharedObjectTemplate.H.

Referenced by NOX::Epetra::Group::isJacobian(), and NOX::Epetra::Group::isPreconditioner().


Member Data Documentation

template<class Object, class Owner>
Teuchos::RCP<Object> NOX::SharedObject< Object, Owner >::object [protected]

Pointer to the shared object.

Definition at line 83 of file NOX_SharedObjectTemplate.H.

Referenced by NOX::SharedObject< NOX::Epetra::LinearSystem, NOX::Epetra::Group >::getObject().

template<class Object, class Owner>
const Owner* NOX::SharedObject< Object, Owner >::owner [protected]

Pointer to const object that owns the shared object.

Definition at line 91 of file NOX_SharedObjectTemplate.H.

Referenced by NOX::SharedObject< NOX::Epetra::LinearSystem, NOX::Epetra::Group >::getObject().


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

Generated on Thu Dec 17 11:03:02 2009 for Nonlinear Solver Project by  doxygen 1.5.9