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::DynamicStorage< ordinal_t, value_t, device_t > Class Template Reference

#include <Stokhos_DynamicStorage.hpp>

Classes

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

Public Types

typedef ordinal_t ordinal_type
 
typedef value_t value_type
 
typedef device_t::execution_space execution_space
 
typedef device_t::memory_space memory_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::DynArrayTraits
< value_type, execution_space
ds
 

Public Member Functions

KOKKOS_INLINE_FUNCTION DynamicStorage (const ordinal_type &sz=1, const value_type &x=value_type(0.0))
 Constructor. More...
 
KOKKOS_INLINE_FUNCTION DynamicStorage (const ordinal_type &sz, const value_type *x)
 Constructor from array. More...
 
KOKKOS_INLINE_FUNCTION DynamicStorage (const ordinal_type &sz, pointer v, bool owned)
 Constructor for creating a view. More...
 
KOKKOS_INLINE_FUNCTION DynamicStorage (const DynamicStorage &s)
 Constructor. More...
 
KOKKOS_INLINE_FUNCTION DynamicStorage (const volatile DynamicStorage &s)
 Constructor. More...
 
KOKKOS_INLINE_FUNCTION ~DynamicStorage ()
 Destructor. More...
 
KOKKOS_INLINE_FUNCTION
DynamicStorage
operator= (const DynamicStorage &s)
 Assignment operator. More...
 
KOKKOS_INLINE_FUNCTION
DynamicStorage
operator= (const volatile DynamicStorage &s)
 Assignment operator. More...
 
KOKKOS_INLINE_FUNCTION
DynamicStorage
operator= (const DynamicStorage &s) volatile
 Assignment operator. More...
 
KOKKOS_INLINE_FUNCTION
DynamicStorage
operator= (const volatile DynamicStorage &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 bool is_view () const
 Return whether storage is a view. More...
 
KOKKOS_INLINE_FUNCTION bool is_view () const volatile
 Return whether storage is a view. 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

pointer coeff_
 Coefficient values. More...
 
value_type coeff_0_
 Coefficient value when sz_ == 1 (i.e., a constant) More...
 
ordinal_type sz_
 Size of array used. More...
 
bool is_view_
 Do we own the array. More...
 
bool is_constant_
 Is the coefficient array length-1. More...
 

Detailed Description

template<typename ordinal_t, typename value_t, typename device_t>
class Stokhos::DynamicStorage< ordinal_t, value_t, device_t >

Definition at line 56 of file Stokhos_DynamicStorage.hpp.

Member Typedef Documentation

template<typename ordinal_t , typename value_t , typename device_t >
typedef ordinal_t Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::ordinal_type

Definition at line 63 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef value_t Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::value_type

Definition at line 64 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef device_t::execution_space Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::execution_space

Definition at line 65 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef device_t::memory_space Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::memory_space

Definition at line 66 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef value_type& Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::reference

Definition at line 67 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef volatile value_type& Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::volatile_reference

Definition at line 68 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef const value_type& Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::const_reference

Definition at line 69 of file Stokhos_DynamicStorage.hpp.

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

Definition at line 70 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef value_type* Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::pointer

Definition at line 71 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef volatile value_type* Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::volatile_pointer

Definition at line 72 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef const value_type* Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::const_pointer

Definition at line 73 of file Stokhos_DynamicStorage.hpp.

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

Definition at line 74 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
typedef Stokhos::DynArrayTraits<value_type,execution_space> Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::ds

Definition at line 75 of file Stokhos_DynamicStorage.hpp.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 90 of file Stokhos_DynamicStorage.hpp.

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

Constructor from array.

Definition at line 112 of file Stokhos_DynamicStorage.hpp.

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

Constructor for creating a view.

Definition at line 134 of file Stokhos_DynamicStorage.hpp.

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

Constructor.

Definition at line 139 of file Stokhos_DynamicStorage.hpp.

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

Constructor.

Definition at line 154 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
KOKKOS_INLINE_FUNCTION Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::~DynamicStorage ( )
inline

Destructor.

Definition at line 169 of file Stokhos_DynamicStorage.hpp.

Member Function Documentation

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

Assignment operator.

Definition at line 176 of file Stokhos_DynamicStorage.hpp.

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

Assignment operator.

Definition at line 206 of file Stokhos_DynamicStorage.hpp.

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

Assignment operator.

Definition at line 236 of file Stokhos_DynamicStorage.hpp.

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

Assignment operator.

Definition at line 267 of file Stokhos_DynamicStorage.hpp.

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

Initialize values to a constant value.

Definition at line 296 of file Stokhos_DynamicStorage.hpp.

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

Initialize values to a constant value.

Definition at line 302 of file Stokhos_DynamicStorage.hpp.

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

Initialize values to an array of values.

Definition at line 308 of file Stokhos_DynamicStorage.hpp.

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

Initialize values to an array of values.

Definition at line 317 of file Stokhos_DynamicStorage.hpp.

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

Load values to an array of values.

Definition at line 326 of file Stokhos_DynamicStorage.hpp.

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

Load values to an array of values.

Definition at line 332 of file Stokhos_DynamicStorage.hpp.

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

Resize to new size (values are preserved)

Definition at line 338 of file Stokhos_DynamicStorage.hpp.

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

Resize to new size (values are preserved)

Definition at line 364 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::DynamicStorage< ordinal_t, value_t, 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 390 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
KOKKOS_INLINE_FUNCTION void Stokhos::DynamicStorage< ordinal_t, value_t, 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 401 of file Stokhos_DynamicStorage.hpp.

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

Return size.

Definition at line 412 of file Stokhos_DynamicStorage.hpp.

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

Return size.

Definition at line 416 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
KOKKOS_INLINE_FUNCTION bool Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::is_view ( ) const
inline

Return whether storage is a view.

Definition at line 420 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
KOKKOS_INLINE_FUNCTION bool Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::is_view ( ) const volatile
inline

Return whether storage is a view.

Definition at line 424 of file Stokhos_DynamicStorage.hpp.

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

Coefficient access (avoid if possible)

Definition at line 428 of file Stokhos_DynamicStorage.hpp.

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

Coefficient access (avoid if possible)

Definition at line 434 of file Stokhos_DynamicStorage.hpp.

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

Coefficient access (avoid if possible)

Definition at line 440 of file Stokhos_DynamicStorage.hpp.

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

Coefficient access (avoid if possible)

Definition at line 444 of file Stokhos_DynamicStorage.hpp.

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

Definition at line 449 of file Stokhos_DynamicStorage.hpp.

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

Definition at line 453 of file Stokhos_DynamicStorage.hpp.

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

Definition at line 457 of file Stokhos_DynamicStorage.hpp.

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

Definition at line 461 of file Stokhos_DynamicStorage.hpp.

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

Get coefficients.

Definition at line 465 of file Stokhos_DynamicStorage.hpp.

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

Get coefficients.

Definition at line 469 of file Stokhos_DynamicStorage.hpp.

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

Get coefficients.

Definition at line 473 of file Stokhos_DynamicStorage.hpp.

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

Get coefficients.

Definition at line 477 of file Stokhos_DynamicStorage.hpp.

Member Data Documentation

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

Definition at line 59 of file Stokhos_DynamicStorage.hpp.

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

Definition at line 60 of file Stokhos_DynamicStorage.hpp.

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

Definition at line 61 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
pointer Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::coeff_
private

Coefficient values.

Definition at line 482 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
value_type Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::coeff_0_
private

Coefficient value when sz_ == 1 (i.e., a constant)

Eliminates dynamic memory allocation for this common use-case

Definition at line 486 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
ordinal_type Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::sz_
private

Size of array used.

Definition at line 489 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
bool Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::is_view_
private

Do we own the array.

Definition at line 492 of file Stokhos_DynamicStorage.hpp.

template<typename ordinal_t , typename value_t , typename device_t >
bool Stokhos::DynamicStorage< ordinal_t, value_t, device_t >::is_constant_
private

Is the coefficient array length-1.

Definition at line 495 of file Stokhos_DynamicStorage.hpp.


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