Xpetra Version of the Day
Loading...
Searching...
No Matches
Xpetra::MultiVectorFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Factory for any type of Xpetra::MultiVector and its derived classes. More...

#include <Xpetra_MultiVectorFactory_decl.hpp>

Static Public Member Functions

static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, size_t NumVectors, bool zeroOut=true)
 Constructor specifying the number of non-zeros for all rows.
 
static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &map, const Teuchos::ArrayView< const Teuchos::ArrayView< const Scalar > > &ArrayOfPtrs, size_t NumVectors)
 Set multi-vector values from array of pointers using Teuchos memory management classes. (copy).
 
static Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Build (const Teuchos::RCP< const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &source, Teuchos::DataAccess copyOrView)
 

Private Member Functions

 MultiVectorFactory ()
 Private constructor. This is a static class.
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
class Xpetra::MultiVectorFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Factory for any type of Xpetra::MultiVector and its derived classes.

Creates instances of Xpetra::MulitVector and Xpetra::BlockedMultiVector , depending on the type of map, i.e. Xpetra::Map vs. Xpetra::BlockedMap .

Template Parameters
Scalar
LocalOrdinal
GlobalOrdinal
Node
Note
Although this class can gerenate Xpetra::BlockedMultiVector , it always returns Xpetra::MultiVector . Don't forget to cast to Xpetra::BlockedMultiVector , if you need the blocked layout directly.

Definition at line 87 of file Xpetra_MultiVectorFactory_decl.hpp.

Constructor & Destructor Documentation

◆ MultiVectorFactory()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node = KokkosClassic::DefaultNode::DefaultNodeType>
Xpetra::MultiVectorFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MultiVectorFactory ( )
inlineprivate

Private constructor. This is a static class.

Definition at line 92 of file Xpetra_MultiVectorFactory_decl.hpp.

Member Function Documentation

◆ Build() [1/3]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MultiVectorFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & map,
size_t NumVectors,
bool zeroOut = true )
static

Constructor specifying the number of non-zeros for all rows.

Definition at line 61 of file Xpetra_MultiVectorFactory_def.hpp.

◆ Build() [2/3]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MultiVectorFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & map,
const Teuchos::ArrayView< const Teuchos::ArrayView< const Scalar > > & ArrayOfPtrs,
size_t NumVectors )
static

Set multi-vector values from array of pointers using Teuchos memory management classes. (copy).

Definition at line 90 of file Xpetra_MultiVectorFactory_def.hpp.

◆ Build() [3/3]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MultiVectorFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const Teuchos::RCP< const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & source,
Teuchos::DataAccess copyOrView )
static

Definition at line 111 of file Xpetra_MultiVectorFactory_def.hpp.


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