Stokhos Development
Public Types | Public Member Functions | Protected Attributes
Stokhos::ProductContainer< coeff_type > Class Template Reference

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>

Inheritance diagram for Stokhos::ProductContainer< coeff_type >:
Inheritance graph
[legend]

List of all members.

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.
 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.
virtual ~ProductContainer ()
 Destructor.
ProductContaineroperator= (const ProductContainer &)
 Assignment.
void reset (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Resize to new map map.
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.
void resize (const Teuchos::RCP< const Epetra_BlockMap > &map)
 Resize to map map.
void reserve (ordinal_type sz)
 Reserve space for a size sz container.
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.

Detailed Description

template<typename coeff_type>
class Stokhos::ProductContainer< coeff_type >

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.


Constructor & Destructor Documentation

template<typename coeff_type >
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.

template<typename coeff_type >
Stokhos::ProductContainer< coeff_type >::ProductContainer ( const ProductContainer< coeff_type > &  v)

Copy constructor.

NOTE: This is a shallow copy


Member Function Documentation

template<typename coeff_type >
Stokhos::ProductContainer< coeff_type > & Stokhos::ProductContainer< coeff_type >::operator= ( const ProductContainer< coeff_type > &  v)

Assignment.

NOTE: This is a shallow copy

template<typename coeff_type >
void Stokhos::ProductContainer< coeff_type >::reserve ( ordinal_type  sz)

Reserve space for a size sz container.

Coefficients are preserved.

template<typename coeff_type >
void Stokhos::ProductContainer< coeff_type >::reset ( const Teuchos::RCP< const Epetra_BlockMap > &  map)

Resize to new map map.

Any previous coefficients are lost.

template<typename coeff_type >
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.

template<typename coeff_type >
void Stokhos::ProductContainer< coeff_type >::resize ( const Teuchos::RCP< const Epetra_BlockMap > &  map)

Resize to map map.

Coefficients are preserved.


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator