Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Typedefs | Enumerations | 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 <functional>
#include <type_traits>

Go to the source code of this file.

Classes

class  Tpetra::Details::Access< accessMode >
 Tag class for declaring access intent. More...
 
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, 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...
 

Enumerations

enum  Tpetra::Details::EAccess
 Enum for declaring 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,
Details::read_only > 
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,
Details::read_only > 
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,
Details::write_only > 
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,
Details::read_write > 
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.