Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Typedefs | Functions
Tpetra_withLocalAccess.hpp File Reference

Declaration and definition of Tpetra::withLocalAccess; declaration of helper classes for users to specialize. More...

#include "TpetraCore_config.h"
#include "Tpetra_Access.hpp"
#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::DefaultExecutionSpace< GlobalObjectType >
 Given a global object, get its default execution 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...
 
struct  Tpetra::Details::unspecified_type
 Tag indicating an unspecified type in LocalAccessTraits. More...
 
struct  Tpetra::Details::LocalAccessTraits< Args >
 Deduce types from parameter pack of LocalAccess. More...
 
class  Tpetra::Details::LocalAccess< GlobalObjectType, Args >
 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 >
 Specialization of WithLocalAccess that implements the "base class" of the user providing one GlobalObject arguments, and a function that takes one arguments. Required to workaround a compile error with intel-19 in c++14 mode. 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
 Nonmember function that computes a residual Computes R = B - A * X.
 

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...
 

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,
Access::ReadOnly > 
Tpetra::readOnly (GlobalObjectType &)
 Declare that you want to access the given global object's local data in read-only mode. More...
 
template<class GlobalObjectType >
Details::LocalAccess
< GlobalObjectType,
Access::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). More...
 
template<class GlobalObjectType >
Details::LocalAccess
< GlobalObjectType,
Access::WriteOnly > 
Tpetra::writeOnly (GlobalObjectType &)
 Declare that you want to access the given global object's local data in write-only mode. More...
 
template<class GlobalObjectType >
Details::LocalAccess
< GlobalObjectType,
Access::ReadWrite > 
Tpetra::readWrite (GlobalObjectType &)
 Declare that you want to access the given global object's local data in read-and-write mode. 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...
 

Detailed Description

Declaration and definition of Tpetra::withLocalAccess; declaration of helper classes for users to specialize.

Definition in file Tpetra_withLocalAccess.hpp.