ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
container::TensorAccessor< T, N, index_t, PtrTraits > Class Template Reference

#include <tensor_accessor.h>

Inheritance diagram for container::TensorAccessor< T, N, index_t, PtrTraits >:
Collaboration diagram for container::TensorAccessor< T, N, index_t, PtrTraits >:

Public Types

using PtrType = typename PtrTraits< T >::PtrType
 
- Public Types inherited from container::TensorAccessorBase< T, N, index_t, PtrTraits >
using PtrType = typename PtrTraits< T >::PtrType
 

Public Member Functions

AT_HOST_DEVICE TensorAccessor (PtrType data, const index_t *sizes, const index_t *strides)
 
AT_HOST_DEVICE TensorAccessor< T, N - 1, index_t, PtrTraits > operator[] (index_t idx)
 
AT_HOST_DEVICE const TensorAccessor< T, N - 1, index_t, PtrTraits > operator[] (index_t idx) const
 
- Public Member Functions inherited from container::TensorAccessorBase< T, N, index_t, PtrTraits >
AT_HOST_DEVICE TensorAccessorBase (PtrType data, const index_t *sizes, const index_t *strides)
 
AT_HOST int_array_ref sizes () const
 
AT_HOST int_array_ref strides () const
 
AT_HOST_DEVICE index_t stride (index_t idx) const
 
AT_HOST_DEVICE index_t size (index_t idx) const
 
AT_HOST_DEVICE PtrType data ()
 
AT_HOST_DEVICE const PtrType data () const
 

Additional Inherited Members

- Protected Attributes inherited from container::TensorAccessorBase< T, N, index_t, PtrTraits >
Tdata_
 
const index_t * sizes_
 
const index_t * strides_
 

Member Typedef Documentation

◆ PtrType

template<typename T , size_t N, typename index_t = int64_t, template< typename U > class PtrTraits = DefaultPtrTraits>
using container::TensorAccessor< T, N, index_t, PtrTraits >::PtrType = typename PtrTraits<T>::PtrType

Constructor & Destructor Documentation

◆ TensorAccessor()

template<typename T , size_t N, typename index_t = int64_t, template< typename U > class PtrTraits = DefaultPtrTraits>
AT_HOST_DEVICE container::TensorAccessor< T, N, index_t, PtrTraits >::TensorAccessor ( PtrType  data,
const index_t *  sizes,
const index_t *  strides 
)
inline

Member Function Documentation

◆ operator[]() [1/2]

template<typename T , size_t N, typename index_t = int64_t, template< typename U > class PtrTraits = DefaultPtrTraits>
AT_HOST_DEVICE TensorAccessor< T, N - 1, index_t, PtrTraits > container::TensorAccessor< T, N, index_t, PtrTraits >::operator[] ( index_t  idx)
inline

◆ operator[]() [2/2]

template<typename T , size_t N, typename index_t = int64_t, template< typename U > class PtrTraits = DefaultPtrTraits>
AT_HOST_DEVICE const TensorAccessor< T, N - 1, index_t, PtrTraits > container::TensorAccessor< T, N, index_t, PtrTraits >::operator[] ( index_t  idx) const
inline

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