Tpetra Matrix/Vector Services Version of the Day
Tpetra::HybridPlatform Class Reference

A platform class for hybrid nodes. More...

#include <Tpetra_HybridPlatform.hpp>

Inheritance diagram for Tpetra::HybridPlatform:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Constructor/Destructor Methods
 HybridPlatform (const Teuchos::RCP< const Teuchos::Comm< int > > &comm, Teuchos::ParameterList &pl)
 Constructor.
 ~HybridPlatform ()
 Destructor.

Class Query, Creation and Accessor Methods

Teuchos::RCP< const
Teuchos::Comm< int > > 
getComm () const
 Comm Instance.
template<template< class Node > class UserCode>
void runUserCode ()
 Run user code with the runtime-selected Node type.
template<class UserCode >
void runUserCode (UserCode &code)
 Run user code with the runtime-selected Node type.
static Teuchos::RCP
< Teuchos::ParameterList
listSupportedNodes ()
 List of supported nodes and their valid parameters.
template<class Node >
static bool isNodeSupported ()
 Whether HybridPlatform supports the given Node type.

Detailed Description

A platform class for hybrid nodes.

Examples:

IRTR_double.cpp, IRTR_qd.cpp, MultiPrecExample_double.cpp, MultiPrecExample_double_double.cpp, MultiPrecExample_double_float.cpp, MultiPrecExample_qd.cpp, and MultiPrecExample_qd_dd_double.cpp.

Definition at line 72 of file Tpetra_HybridPlatform.hpp.


Constructor & Destructor Documentation

Tpetra::HybridPlatform::HybridPlatform ( const Teuchos::RCP< const Teuchos::Comm< int > > &  comm,
Teuchos::ParameterList pl 
)

Constructor.

Definition at line 66 of file Tpetra_HybridPlatform.cpp.

Tpetra::HybridPlatform::~HybridPlatform ( )

Destructor.

Definition at line 193 of file Tpetra_HybridPlatform.cpp.


Member Function Documentation

Teuchos::RCP< const Teuchos::Comm< int > > Tpetra::HybridPlatform::getComm ( ) const

Comm Instance.

Definition at line 241 of file Tpetra_HybridPlatform.cpp.

RCP< ParameterList > Tpetra::HybridPlatform::listSupportedNodes ( ) [static]

List of supported nodes and their valid parameters.

Definition at line 196 of file Tpetra_HybridPlatform.cpp.

template<class Node >
bool Tpetra::HybridPlatform::isNodeSupported ( ) [static]

Whether HybridPlatform supports the given Node type.

Definition at line 179 of file Tpetra_HybridPlatform.hpp.

template<template< class Node > class UserCode>
void Tpetra::HybridPlatform::runUserCode ( )

Run user code with the runtime-selected Node type.

This method assumes that UserCode is a class with a template parameter Node, which has a class ("static") method run():

 template<class Node>
 class UserCode {
 public:
   static void 
   run (Teuchos::ParameterList& plist, 
        Teuchos::RCP<const Teuchos::Comm<int> > comm, 
        Teuchos::RCP<Node> node);
 };

Note that this method depends on the "template parameter that takes a template parameter" feature of C++11. Your compiler may or may not support this feature. If it does, you may have to use a special compiler flag to enable the feature.

Definition at line 218 of file Tpetra_HybridPlatform.hpp.

template<class UserCode >
void Tpetra::HybridPlatform::runUserCode ( UserCode &  code)

Run user code with the runtime-selected Node type.

This method, unlike the version of runUserCode that takes no arguments above, assumes that UserCode is a class with an instance (not class) method run():

 class UserCode {
 public:
   template<class Node>
   void 
   run (Teuchos::ParameterList& plist, 
        Teuchos::RCP<const Teuchos::Comm<int> > comm, 
        Teuchos::RCP<Node> node);
 };

Definition at line 185 of file Tpetra_HybridPlatform.hpp.


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