Thyra
Version of the Day
Loading...
Searching...
No Matches
core
src
support
operator_vector
client_support
Thyra_MultiVectorAllocator.hpp
1
// @HEADER
2
// *****************************************************************************
3
// Thyra: Interfaces and Support for Abstract Numerical Algorithms
4
//
5
// Copyright 2004 NTESS and the Thyra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef THYRA_MULTI_VECTOR_ALLOCATOR_HPP
11
#define THYRA_MULTI_VECTOR_ALLOCATOR_HPP
12
13
#include "Thyra_VectorSpaceBase.hpp"
14
#include "Teuchos_Assert.hpp"
15
16
namespace
Thyra {
17
21
template
<
class
Scalar>
22
class
MultiVectorAllocator
{
23
public
:
25
MultiVectorAllocator
() : numMembers_(0) {}
27
typedef
Teuchos::RCP<MultiVectorBase<Scalar>
>
ptr_t
;
// required!
29
MultiVectorAllocator
(
const
Teuchos::RCP
<
const
VectorSpaceBase<Scalar>
> &vs,
int
numMembers )
30
: vs_(vs), numMembers_(numMembers)
31
{
32
#ifdef TEUCHOS_DEBUG
33
TEUCHOS_TEST_FOR_EXCEPTION
( vs.get()==NULL, std::logic_error,
"Error!"
);
34
#endif
35
}
36
37
const
ptr_t
allocate
()
const
{
return
vs_->createMembers(numMembers_); }
// required!
38
private
:
39
Teuchos::RCP<const VectorSpaceBase<Scalar>
> vs_;
40
int
numMembers_;
41
};
42
43
}
// namespace Thyra
44
45
#endif
// THYRA_MULTI_VECTOR_ALLOCATOR_HPP
Teuchos::RCP
Thyra::MultiVectorAllocator::ptr_t
Teuchos::RCP< MultiVectorBase< Scalar > > ptr_t
Definition
Thyra_MultiVectorAllocator.hpp:27
Thyra::MultiVectorAllocator::MultiVectorAllocator
MultiVectorAllocator()
Definition
Thyra_MultiVectorAllocator.hpp:25
Thyra::MultiVectorAllocator::allocate
const ptr_t allocate() const
Definition
Thyra_MultiVectorAllocator.hpp:37
Thyra::MultiVectorAllocator::MultiVectorAllocator
MultiVectorAllocator(const Teuchos::RCP< const VectorSpaceBase< Scalar > > &vs, int numMembers)
Definition
Thyra_MultiVectorAllocator.hpp:29
Thyra::VectorSpaceBase
Abstract interface for objects that represent a space for vectors.
Definition
Thyra_VectorSpaceBase_decl.hpp:267
TEUCHOS_TEST_FOR_EXCEPTION
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Generated on
for Thyra by
1.15.0