Thyra_ScaledAdjointLinearOpBaseDecl.hpp File Reference

#include "Thyra_LinearOpBaseDecl.hpp"

Include dependency graph for Thyra_ScaledAdjointLinearOpBaseDecl.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Thyra

Classes

class  Thyra::ScaledAdjointLinearOpBase< Scalar >
 Base class for LinearOpBase decorator subclasses that wrap a LinearOpBase object and adds on an extra scaling factor and/or a new transpose enum. More...

Functions

template<class Scalar>
void unwrap (const LinearOpBase< Scalar > &Op, Scalar *scalar, ETransp *transp, const LinearOpBase< Scalar > **origOp)
 Extract the overallScalar, overallTransp and const origOp from a const LinearOpBase object.
template<class Scalar>
void unwrap (const Teuchos::RefCountPtr< const LinearOpBase< Scalar > > &Op, Scalar *scalar, ETransp *transp, Teuchos::RefCountPtr< const LinearOpBase< Scalar > > *origOp)
 Extract the overallScalar, overallTransp and Teuchos::RefCountPtr wrapped const origOp from a Teuchos::RefCountPtr wrapped const LinearOpBase object.


Function Documentation

template<class Scalar>
void Thyra::unwrap const LinearOpBase< Scalar > &  Op,
Scalar *  scalar,
ETransp transp,
const LinearOpBase< Scalar > **  origOp
 

Extract the overallScalar, overallTransp and const origOp from a const LinearOpBase object.

Parameters:
Op [in] The input, possibly scaled and/or adjoined, linear operator
scalar [out] The overall scaling factor.
transp [out] The overall adjoint (transposition) enum.
origOp [out] The underlying, non-scaled and non-adjoined linear operator. This pointer returns a non-persisting relationship that is to be used and then immediately forgotten.
Preconditions:
  • scalar!==NULL
  • transp!==NULL
  • origOp!==NULL

Postconditions:

  • *origOp!==NULL

The purpose of this function is to strip off the ScaledAdjointLinearOpBase wrapper and get at the underlying linear operator for the purpose of further dynamic casting to some more derived interface.

The implementation of this function is not too complicated and is appropriate for study.

Definition at line 36 of file Thyra_ScaledAdjointLinearOpBase.hpp.

template<class Scalar>
void Thyra::unwrap const Teuchos::RefCountPtr< const LinearOpBase< Scalar > > &  Op,
Scalar *  scalar,
ETransp transp,
Teuchos::RefCountPtr< const LinearOpBase< Scalar > > *  origOp
 

Extract the overallScalar, overallTransp and Teuchos::RefCountPtr wrapped const origOp from a Teuchos::RefCountPtr wrapped const LinearOpBase object.

Parameters:
Op [in] The input, possibly scaled and/or adjoined, linear operator
scalar [out] The overall scaling factor.
transp [out] The overall adjoint (transposition) enum.
origOp [out] The underlying, non-scaled and non-adjoined linear operator. This pointer returns a non-persisting relationship that is to be used and then immediately forgotten.
Preconditions:
  • scalar!==NULL
  • transp!==NULL
  • origOp!==NULL

Postconditions:

  • *origOp!==NULL

The purpose of this function is to strip off the ScaledAdjointLinearOpBase wrapper and get at the underlying linear operator for the purpose of further dynamic casting to some more derived interface.

The implementation of this function is not too complicated and is appropriate for study.

Definition at line 64 of file Thyra_ScaledAdjointLinearOpBase.hpp.


Generated on Thu Sep 18 12:33:07 2008 for Thyra Package Browser (Single Doxygen Collection) by doxygen 1.3.9.1