1#ifndef included_AMP_ThyraVectorFactor
2#define included_AMP_ThyraVectorFactor
5#include "AMP/AMP_TPLs.h"
6#include "AMP/utils/UnitTest.h"
7#include "AMP/vectors/Vector.h"
8#include "AMP/vectors/testHelpers/VectorTests.h"
17class NativeThyraFactory :
public VectorFactory
20 NativeThyraFactory() {}
22 std::string name()
const override {
return "NativeThyraFactory"; }
26class ManagedThyraFactory :
public VectorFactory
29 explicit ManagedThyraFactory( std::shared_ptr<VectorFactory> factory ) : d_factory( factory ) {}
31 std::string name()
const override {
return "ManagedThyraFactory<" + d_factory->name() +
">"; }
34 ManagedThyraFactory();
35 std::shared_ptr<VectorFactory> d_factory;
39class ManagedNativeThyraFactory :
public VectorFactory
42 explicit ManagedNativeThyraFactory( std::shared_ptr<VectorFactory> factory )
43 : d_factory( factory )
47 virtual std::string name()
const override
49 return "ManagedNativeThyraFactory<" + d_factory->name() +
">";
53 ManagedNativeThyraFactory();
54 std::shared_ptr<VectorFactory> d_factory;
57#ifdef AMP_USE_TRILINOS_BELOS
58void testBelosThyraVector(
AMP::UnitTest &utils,
const VectorFactory &factory );
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
Class UnitTest is simple utility for running unit tests. It provides basic routines for tracing succe...