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 24 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 31 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 32 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 33 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 34 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 35 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 36 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 37 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 38 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 39 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 40 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 41 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 42 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 43 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 58 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 80 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 102 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 107 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 122 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 137 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 144 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 174 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 204 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 235 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 264 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 270 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 276 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 285 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 294 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 300 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 306 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 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 >::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 358 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 369 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 380 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 384 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 388 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 392 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 396 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 402 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 408 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 412 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 417 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 421 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 425 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 429 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 433 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 437 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 441 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 445 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 27 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 28 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 29 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 450 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 454 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 457 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 460 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 463 of file Stokhos_DynamicStorage.hpp.


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