Stokhos
Development
|
A product (in the mathematical sense) container class whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor. More...
#include <Stokhos_ProductContainer.hpp>
Public Types | |
typedef Stokhos::ProductContainerTraits < coeff_type > | traits_type |
Typename of traits. | |
typedef traits_type::value_type | value_type |
Typename of values. | |
typedef traits_type::ordinal_type | ordinal_type |
Typename of ordinals. | |
Public Member Functions | |
ProductContainer () | |
Default constructor. More... | |
ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map) | |
Create a container with container map map . | |
ProductContainer (const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner) | |
Create a container container map map where each coefficient is generated through a clone operation as implemented by the traits class for the coefficient. | |
ProductContainer (const ProductContainer &) | |
Copy constructor. More... | |
virtual | ~ProductContainer () |
Destructor. | |
ProductContainer & | operator= (const ProductContainer &) |
Assignment. More... | |
void | reset (const Teuchos::RCP< const Epetra_BlockMap > &map) |
Resize to new map map . More... | |
void | reset (const Teuchos::RCP< const Epetra_BlockMap > &map, const typename traits_type::cloner_type &cloner) |
Resize to new map map and create coefficients from cloner . More... | |
void | resize (const Teuchos::RCP< const Epetra_BlockMap > &map) |
Resize to map map . More... | |
void | reserve (ordinal_type sz) |
Reserve space for a size sz container. More... | |
ordinal_type | size () const |
Return size. | |
Teuchos::RCP< const Epetra_BlockMap > | map () const |
Return container map. | |
const Teuchos::Array < Teuchos::RCP< coeff_type > > & | getCoefficients () const |
Return array of coefficients. | |
Teuchos::Array< Teuchos::RCP < coeff_type > > & | getCoefficients () |
Return array of coefficients. | |
Teuchos::RCP< coeff_type > | getCoeffPtr (ordinal_type i) |
Return ref-count pointer to coefficient i . | |
Teuchos::RCP< const coeff_type > | getCoeffPtr (ordinal_type i) const |
Return ref-count pointer to constant coefficient i . | |
void | setCoeffPtr (ordinal_type i, const Teuchos::RCP< coeff_type > &c) |
Set coefficient i to c . | |
coeff_type & | operator[] (ordinal_type i) |
Array access. | |
const coeff_type & | operator[] (ordinal_type i) const |
Array access. | |
void | init (const value_type &val) |
Initialize coefficients. | |
bool | myGID (int i) const |
Return whether global index i resides on this processor. | |
std::ostream & | print (std::ostream &os) const |
Print polynomial. | |
Protected Attributes | |
Teuchos::RCP< const Epetra_BlockMap > | map_ |
Container map. | |
Teuchos::Array< Teuchos::RCP < coeff_type > > | coeff_ |
Array of polynomial coefficients. | |
A product (in the mathematical sense) container class whose coefficients are vectors, operators, or in general any type that would have an expensive copy constructor.
Stokhos::ProductContainer< coeff_type >::ProductContainer | ( | ) |
Default constructor.
Use with care! Generally you will want to call reset() before using any of the methods on this class.
Stokhos::ProductContainer< coeff_type >::ProductContainer | ( | const ProductContainer< coeff_type > & | v | ) |
Copy constructor.
NOTE: This is a shallow copy
Stokhos::ProductContainer< coeff_type > & Stokhos::ProductContainer< coeff_type >::operator= | ( | const ProductContainer< coeff_type > & | v | ) |
Assignment.
NOTE: This is a shallow copy
References Stokhos::ProductContainer< coeff_type >::coeff_, and Stokhos::ProductContainer< coeff_type >::map_.
Referenced by Stokhos::ProductEpetraOperator::operator=(), Stokhos::VectorOrthogPoly< coeff_type >::operator=(), Stokhos::ProductEpetraVector::operator=(), and Stokhos::ProductEpetraMultiVector::operator=().
void Stokhos::ProductContainer< coeff_type >::reserve | ( | ordinal_type | sz | ) |
Reserve space for a size sz
container.
Coefficients are preserved.
void Stokhos::ProductContainer< coeff_type >::reset | ( | const Teuchos::RCP< const Epetra_BlockMap > & | map | ) |
Resize to new map map
.
Any previous coefficients are lost.
Referenced by Stokhos::VectorOrthogPoly< coeff_type >::reset(), Stokhos::ProductEpetraVector::reset(), and Stokhos::ProductEpetraMultiVector::reset().
void Stokhos::ProductContainer< coeff_type >::reset | ( | const Teuchos::RCP< const Epetra_BlockMap > & | map, |
const typename traits_type::cloner_type & | cloner | ||
) |
Resize to new map map
and create coefficients from cloner
.
Any previous coefficients are lost.
void Stokhos::ProductContainer< coeff_type >::resize | ( | const Teuchos::RCP< const Epetra_BlockMap > & | map | ) |
Resize to map map
.
Coefficients are preserved.