Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t > Class Template Reference

Statically allocated storage class. More...

#include <Stokhos_StaticStorage.hpp>

Classes

struct  apply
 Turn StaticStorage into a meta-function class usable with mpl::apply. More...
 

Public Types

typedef ordinal_t ordinal_type
 
typedef value_t value_type
 
typedef device_t execution_space
 
typedef value_typereference
 
typedef volatile value_typevolatile_reference
 
typedef const value_typeconst_reference
 
typedef const volatile value_typeconst_volatile_reference
 
typedef value_typepointer
 
typedef volatile value_typevolatile_pointer
 
typedef const value_typeconst_pointer
 
typedef const volatile value_typeconst_volatile_pointer
 
typedef
Stokhos::StaticArrayTraits
< value_type, execution_space
ss
 

Public Member Functions

KOKKOS_INLINE_FUNCTION StaticStorage (const ordinal_type &sz=1, const value_type &x=value_type(0.0))
 Constructor. More...
 
KOKKOS_INLINE_FUNCTION StaticStorage (const ordinal_type &sz, const value_type *x)
 Constructor from array. More...
 
KOKKOS_INLINE_FUNCTION StaticStorage (const ordinal_type &sz, pointer v, bool owned)
 Constructor for creating a view (not allowed) More...
 
KOKKOS_INLINE_FUNCTION StaticStorage (const StaticStorage &s)
 Copy constructor. More...
 
KOKKOS_INLINE_FUNCTION StaticStorage (const volatile StaticStorage &s)
 Copy constructor. More...
 
KOKKOS_INLINE_FUNCTION ~StaticStorage ()
 Destructor. More...
 
KOKKOS_INLINE_FUNCTION
StaticStorage
operator= (const StaticStorage &s)
 Assignment operator. More...
 
KOKKOS_INLINE_FUNCTION
StaticStorage
operator= (const volatile StaticStorage &s)
 Assignment operator. More...
 
KOKKOS_INLINE_FUNCTION
volatile StaticStorage
operator= (const StaticStorage &s) volatile
 Assignment operator. More...
 
KOKKOS_INLINE_FUNCTION
volatile StaticStorage
operator= (const volatile StaticStorage &s) volatile
 Assignment operator. More...
 
KOKKOS_INLINE_FUNCTION void init (const_reference v)
 Initialize values to a constant value. More...
 
KOKKOS_INLINE_FUNCTION void init (const_reference v) volatile
 Initialize values to a constant value. More...
 
KOKKOS_INLINE_FUNCTION void init (const_pointer v, const ordinal_type &sz=0)
 Initialize values to an array of values. More...
 
KOKKOS_INLINE_FUNCTION void init (const_pointer v, const ordinal_type &sz=0) volatile
 Initialize values to an array of values. More...
 
KOKKOS_INLINE_FUNCTION void load (pointer v)
 Load values to an array of values. More...
 
KOKKOS_INLINE_FUNCTION void load (pointer v) volatile
 Load values to an array of values. More...
 
KOKKOS_INLINE_FUNCTION void resize (const ordinal_type &sz)
 Resize to new size (values are preserved) More...
 
KOKKOS_INLINE_FUNCTION void resize (const ordinal_type &sz) volatile
 Resize to new size (values are preserved) More...
 
KOKKOS_INLINE_FUNCTION void shallowReset (pointer v, const ordinal_type &sz, const ordinal_type &stride, bool owned)
 Reset storage to given array, size, and stride. More...
 
KOKKOS_INLINE_FUNCTION void shallowReset (pointer v, const ordinal_type &sz, const ordinal_type &stride, bool owned) volatile
 Reset storage to given array, size, and stride. More...
 
KOKKOS_INLINE_FUNCTION ordinal_type size () const
 Return size. More...
 
KOKKOS_INLINE_FUNCTION ordinal_type size () const volatile
 Return size. More...
 
KOKKOS_INLINE_FUNCTION
const_reference 
operator[] (const ordinal_type &i) const
 Coefficient access (avoid if possible) More...
 
KOKKOS_INLINE_FUNCTION
const_volatile_reference 
operator[] (const ordinal_type &i) const volatile
 Coefficient access (avoid if possible) More...
 
KOKKOS_INLINE_FUNCTION reference operator[] (const ordinal_type &i)
 Coefficient access (avoid if possible) More...
 
KOKKOS_INLINE_FUNCTION
volatile_reference 
operator[] (const ordinal_type &i) volatile
 Coefficient access (avoid if possible) More...
 
template<int i>
KOKKOS_INLINE_FUNCTION reference getCoeff ()
 
template<int i>
KOKKOS_INLINE_FUNCTION
volatile_reference 
getCoeff () volatile
 
template<int i>
KOKKOS_INLINE_FUNCTION
const_volatile_reference 
getCoeff () const volatile
 
template<int i>
KOKKOS_INLINE_FUNCTION
const_reference 
getCoeff () const
 
KOKKOS_INLINE_FUNCTION
const_volatile_pointer 
coeff () const volatile
 Get coefficients. More...
 
KOKKOS_INLINE_FUNCTION
const_pointer 
coeff () const
 Get coefficients. More...
 
KOKKOS_INLINE_FUNCTION
volatile_pointer 
coeff () volatile
 Get coefficients. More...
 
KOKKOS_INLINE_FUNCTION pointer coeff ()
 Get coefficients. More...
 

Static Public Attributes

static const bool is_static = false
 
static const int static_size = 0
 
static const bool supports_reset = false
 

Private Attributes

value_type coeff_ [Num]
 Coefficient values. More...
 
ordinal_type sz_
 Size of array used. More...
 

Detailed Description

template<typename ordinal_t, typename value_t, int Num, typename device_t>
class Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >

Statically allocated storage class.

Definition at line 57 of file Stokhos_StaticStorage.hpp.

Member Typedef Documentation

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef ordinal_t Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::ordinal_type

Definition at line 64 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef value_t Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::value_type

Definition at line 65 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef device_t Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::execution_space

Definition at line 66 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef value_type& Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::reference

Definition at line 67 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef volatile value_type& Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::volatile_reference

Definition at line 68 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef const value_type& Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::const_reference

Definition at line 69 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef const volatile value_type& Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::const_volatile_reference

Definition at line 70 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef value_type* Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::pointer

Definition at line 71 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef volatile value_type* Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::volatile_pointer

Definition at line 72 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef const value_type* Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::const_pointer

Definition at line 73 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef const volatile value_type* Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::const_volatile_pointer

Definition at line 74 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
typedef Stokhos::StaticArrayTraits<value_type,execution_space> Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::ss

Definition at line 75 of file Stokhos_StaticStorage.hpp.

Constructor & Destructor Documentation

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::StaticStorage ( const ordinal_type sz = 1,
const value_type x = value_type(0.0) 
)
inline

Constructor.

Definition at line 85 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::StaticStorage ( const ordinal_type sz,
const value_type x 
)
inline

Constructor from array.

Definition at line 92 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::StaticStorage ( const ordinal_type sz,
pointer  v,
bool  owned 
)
inline

Constructor for creating a view (not allowed)

Definition at line 98 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::StaticStorage ( const StaticStorage< ordinal_t, value_t, Num, device_t > &  s)
inline

Copy constructor.

Definition at line 102 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::StaticStorage ( const volatile StaticStorage< ordinal_t, value_t, Num, device_t > &  s)
inline

Copy constructor.

Definition at line 108 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::~StaticStorage ( )
inline

Destructor.

Definition at line 114 of file Stokhos_StaticStorage.hpp.

Member Function Documentation

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION StaticStorage& Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::operator= ( const StaticStorage< ordinal_t, value_t, Num, device_t > &  s)
inline

Assignment operator.

Definition at line 118 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION StaticStorage& Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::operator= ( const volatile StaticStorage< ordinal_t, value_t, Num, device_t > &  s)
inline

Assignment operator.

Definition at line 126 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION volatile StaticStorage& Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::operator= ( const StaticStorage< ordinal_t, value_t, Num, device_t > &  s) volatile
inline

Assignment operator.

Definition at line 134 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION volatile StaticStorage& Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::operator= ( const volatile StaticStorage< ordinal_t, value_t, Num, device_t > &  s) volatile
inline

Assignment operator.

Definition at line 142 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::init ( const_reference  v)
inline

Initialize values to a constant value.

Definition at line 150 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::init ( const_reference  v) volatile
inline

Initialize values to a constant value.

Definition at line 156 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::init ( const_pointer  v,
const ordinal_type sz = 0 
)
inline

Initialize values to an array of values.

Definition at line 162 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::init ( const_pointer  v,
const ordinal_type sz = 0 
) volatile
inline

Initialize values to an array of values.

Definition at line 171 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::load ( pointer  v)
inline

Load values to an array of values.

Definition at line 180 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::load ( pointer  v) volatile
inline

Load values to an array of values.

Definition at line 186 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::resize ( const ordinal_type sz)
inline

Resize to new size (values are preserved)

Definition at line 192 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::resize ( const ordinal_type sz) volatile
inline

Resize to new size (values are preserved)

Definition at line 200 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::shallowReset ( pointer  v,
const ordinal_type sz,
const ordinal_type stride,
bool  owned 
)
inline

Reset storage to given array, size, and stride.

Definition at line 208 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::shallowReset ( pointer  v,
const ordinal_type sz,
const ordinal_type stride,
bool  owned 
) volatile
inline

Reset storage to given array, size, and stride.

Definition at line 213 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION ordinal_type Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::size ( ) const
inline

Return size.

Definition at line 218 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION ordinal_type Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::size ( ) const volatile
inline

Return size.

Definition at line 222 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION const_reference Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::operator[] ( const ordinal_type i) const
inline

Coefficient access (avoid if possible)

Definition at line 226 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION const_volatile_reference Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::operator[] ( const ordinal_type i) const volatile
inline

Coefficient access (avoid if possible)

Definition at line 232 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION reference Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::operator[] ( const ordinal_type i)
inline

Coefficient access (avoid if possible)

Definition at line 238 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION volatile_reference Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::operator[] ( const ordinal_type i) volatile
inline

Coefficient access (avoid if possible)

Definition at line 242 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
template<int i>
KOKKOS_INLINE_FUNCTION reference Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::getCoeff ( )
inline

Definition at line 248 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
template<int i>
KOKKOS_INLINE_FUNCTION volatile_reference Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::getCoeff ( ) volatile
inline

Definition at line 252 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
template<int i>
KOKKOS_INLINE_FUNCTION const_volatile_reference Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::getCoeff ( ) const volatile
inline

Definition at line 256 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
template<int i>
KOKKOS_INLINE_FUNCTION const_reference Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::getCoeff ( ) const
inline

Definition at line 260 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION const_volatile_pointer Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::coeff ( ) const volatile
inline

Get coefficients.

Definition at line 264 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION const_pointer Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::coeff ( ) const
inline

Get coefficients.

Definition at line 268 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION volatile_pointer Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::coeff ( ) volatile
inline

Get coefficients.

Definition at line 272 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
KOKKOS_INLINE_FUNCTION pointer Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::coeff ( )
inline

Get coefficients.

Definition at line 276 of file Stokhos_StaticStorage.hpp.

Member Data Documentation

template<typename ordinal_t , typename value_t , int Num, typename device_t >
const bool Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::is_static = false
static

Definition at line 60 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
const int Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::static_size = 0
static

Definition at line 61 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
const bool Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::supports_reset = false
static

Definition at line 62 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
value_type Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::coeff_[Num]
private

Coefficient values.

Definition at line 281 of file Stokhos_StaticStorage.hpp.

template<typename ordinal_t , typename value_t , int Num, typename device_t >
ordinal_type Stokhos::StaticStorage< ordinal_t, value_t, Num, device_t >::sz_
private

Size of array used.

Definition at line 284 of file Stokhos_StaticStorage.hpp.


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