Tpetra parallel linear algebra
Version of the Day
|
Declaration and definition of Tpetra::withLocalAccess; declaration of helper classes for users to specialize. More...
#include "TpetraCore_config.h"
#include <functional>
#include <type_traits>
Go to the source code of this file.
Classes | |
struct | Tpetra::Details::DefaultMemorySpace< GlobalObjectType > |
Given a global object, get its default memory space (both the type and the default instance thereof). More... | |
struct | Tpetra::Details::GetMasterLocalObject< LocalAccessType > |
Mapping from LocalAccess to the "master" local object type. More... | |
struct | Tpetra::Details::GetNonowningLocalObject< LocalAccessType > |
Mapping from "master" local object type to the nonowning "local view" type that users see (as arguments to the function that they give to withLocalAccess). More... | |
class | Tpetra::Details::LocalAccess< GlobalObjectType, MemorySpace, am > |
Declaration of access intent for a global object. More... | |
struct | Tpetra::Details::WithLocalAccess< LocalAccessTypes > |
Implementation of withLocalAccess. More... | |
struct | Tpetra::Details::WithLocalAccess<> |
Specialization of withLocalAccess that implements the "base class" of the user providing no GlobalObject arguments, and a function that takes no arguments. More... | |
struct | Tpetra::Details::WithLocalAccess< FirstLocalAccessType, Rest...> |
Specialization of withLocalAccess that implements the "recursion case.". More... | |
Namespaces | |
Tpetra | |
Namespace Tpetra contains the class and methods constituting the Tpetra library. | |
Tpetra::Details | |
Namespace for Tpetra implementation details. | |
Typedefs | |
template<class LocalAccessType > | |
using | Tpetra::with_local_access_function_argument_type = typename Details::GetNonowningLocalObject< LocalAccessType >::nonowning_local_object_type |
Type of the local object, that is an argument to the function the user gives to withLocalAccess. More... | |
Enumerations | |
enum | Tpetra::Details::AccessMode |
Access intent. More... | |
Functions | |
template<class LocalAccessType > | |
GetMasterLocalObject < LocalAccessType > ::master_local_object_type | Tpetra::Details::getMasterLocalObject (LocalAccessType LA) |
Given a LocalAccess instance (which has a reference to a global object), get an instance of its master local object. More... | |
template<class LocalAccessType > | |
GetNonowningLocalObject < LocalAccessType > ::nonowning_local_object_type | Tpetra::Details::getNonowningLocalObject (LocalAccessType LA, const typename GetMasterLocalObject< LocalAccessType >::master_local_object_type &master) |
Given a master local object, get an instance of a nonowning local object. More... | |
template<class GlobalObjectType > | |
Details::LocalAccess < GlobalObjectType, typename Details::DefaultMemorySpace < GlobalObjectType >::type, Details::AccessMode::ReadOnly > | Tpetra::readOnly (GlobalObjectType &) |
Declare that you want to access the given global object's local data in read-only mode, in the object's default memory space. More... | |
template<class GlobalObjectType > | |
Details::LocalAccess < GlobalObjectType, typename Details::DefaultMemorySpace < GlobalObjectType >::type, Details::AccessMode::ReadOnly > | Tpetra::readOnly (const GlobalObjectType &) |
Declare that you want to access the given global object's local data in read-only mode (overload for const GlobalObjectType), in the object's default memory space. More... | |
template<class GlobalObjectType > | |
Details::LocalAccess < GlobalObjectType, typename Details::DefaultMemorySpace < GlobalObjectType >::type, Details::AccessMode::WriteOnly > | Tpetra::writeOnly (GlobalObjectType &) |
Declare that you want to access the given global object's local data in write-only mode, in the object's default memory space. More... | |
template<class GlobalObjectType > | |
Details::LocalAccess < GlobalObjectType, typename Details::DefaultMemorySpace < GlobalObjectType >::type, Details::AccessMode::ReadWrite > | Tpetra::readWrite (GlobalObjectType &) |
Declare that you want to access the given global object's local data in read-and-write mode, in the object's default memory space. More... | |
template<class... LocalAccessTypes> | |
void | Tpetra::withLocalAccess (typename Details::ArgsToFunction< LocalAccessTypes...>::type userFunction, LocalAccessTypes...localAccesses) |
Get access to a Tpetra global object's local data. More... | |
Declaration and definition of Tpetra::withLocalAccess; declaration of helper classes for users to specialize.
Definition in file Tpetra_withLocalAccess.hpp.