Sacado  Development
Public Types | List of all members
Kokkos::Impl::AnalyzeSacadoShape< T, Layout > Struct Template Reference

Analyze the array shape defined by a Kokkos::View data type. More...

#include <Kokkos_AnalyzeSacadoShape.hpp>

Inheritance diagram for Kokkos::Impl::AnalyzeSacadoShape< T, Layout >:
Inheritance graph
[legend]
Collaboration diagram for Kokkos::Impl::AnalyzeSacadoShape< T, Layout >:
Collaboration graph
[legend]

Public Types

typedef void specialize
 
typedef Shape< sizeof(T), 0 > shape
 
typedef T array_intrinsic_type
 
typedef T flat_array_type
 
typedef T value_type
 
typedef T type
 
typedef const T const_array_intrinsic_type
 
typedef const T const_flat_array_type
 
typedef const T const_value_type
 
typedef const T const_type
 
typedef T non_const_array_intrinsic_type
 
typedef T non_const_flat_array_type
 
typedef T non_const_value_type
 
typedef T non_const_type
 

Detailed Description

template<class T, class Layout>
struct Kokkos::Impl::AnalyzeSacadoShape< T, Layout >

Analyze the array shape defined by a Kokkos::View data type.

It is presumed that the data type can be mapped down to a multidimensional array of an intrinsic scalar numerical type (double, float, int, ... ). The 'value_type' of an array may be an embedded aggregate type such as a fixed length array 'Array<T,N>'. In this case the 'array_instrinsic_type' represents the underlying array of intrinsic numeric type.

The embedded aggregate type must have an AnalyzeSacadoShape specialization to map it down to a shape and intrinsic scalar numerical type.

This is a slight variation of the original AnalyzeShape in that takes the the Layout as a template parameter. This allows the sacado specializations to put the sacado dimension in different places depending on the layout.


The documentation for this struct was generated from the following file: