v0.14.0
Public Member Functions | List of all members
FTensor::Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 > Class Template Reference

#include <src/ftensor/src/FTensor/Tensor2/Tensor2_pointer.hpp>

Inheritance diagram for FTensor::Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 >:
[legend]
Collaboration diagram for FTensor::Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 >:
[legend]

Public Member Functions

template<class... U>
 Tensor2 (U *...d)
 
 Tensor2 ()
 
template<class U >
 Tensor2 (std::array< U *, Tensor_Dim0 *Tensor_Dim1 > &a)
 
const Tensor2operator++ () const
 
- Public Member Functions inherited from FTensor::Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >
 Tensor2 (T *d00, T *d01, T *d10, T *d11, const int i)
 
 Tensor2 (T *d00, T *d01, T *d10, T *d11, T *d20, T *d21, const int i)
 
 Tensor2 (T *d00, T *d01, T *d02, T *d10, T *d11, T *d12, T *d20, T *d21, T *d22, const int i)
 
 Tensor2 (T *d00, T *d01, T *d02, T *d03, T *d10, T *d11, T *d12, T *d13, T *d20, T *d21, T *d22, T *d23, T *d30, T *d31, T *d32, T *d33, const int i)
 
template<class... U>
 Tensor2 (U *...d)
 
template<class U >
 Tensor2 (std::array< U *, Tensor_Dim0 *Tensor_Dim1 > &a, const int i=1)
 
 Tensor2 ()
 
 Tensor2 (const int i=1)
 
T & operator() (const int N1, const int N2)
 
operator() (const int N1, const int N2) const
 
T * ptr (const int N1, const int N2) const
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >, T, Dim0, Dim1, i, joperator() (const Index< i, Dim0 >, const Index< j, Dim1 > index2)
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< const Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >, T, Dim0, Dim1, i, joperator() (const Index< i, Dim0 >, const Index< j, Dim1 > index2) const
 
template<char i, int Dim, int N>
Tensor1_Expr< Tensor2_number_rhs_1< Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >, T, N >, T, Dim, ioperator() (const Index< i, Dim >, const Number< N >)
 
template<char i, int Dim, int N>
Tensor1_Expr< Tensor2_number_rhs_0< Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >, T, N >, T, Dim, ioperator() (const Number< N >, const Index< i, Dim >)
 
template<char i, int Dim, int N>
Tensor1_Expr< const Tensor2_number_1< const Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >, T, N >, T, Dim, ioperator() (const Index< i, Dim >, const Number< N >) const
 
template<char i, int Dim, int N>
Tensor1_Expr< const Tensor2_number_0< const Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >, T, N >, T, Dim, ioperator() (const Number< N >, const Index< i, Dim >) const
 
const Tensor2operator++ () const
 
template<char i, int Dim>
operator() (const Index< i, Dim >, const Index< i, Dim > index2)
 
template<char i, int Dim>
operator() (const Index< i, Dim >, const Index< i, Dim > index2) const
 

Additional Inherited Members

- Protected Attributes inherited from FTensor::Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >
T *restrict data [Tensor_Dim0][Tensor_Dim1]
 
const int inc
 

Detailed Description

template<class T, int Tensor_Dim0, int Tensor_Dim1, int I>
class FTensor::Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 >

Definition at line 210 of file Tensor2_pointer.hpp.

Constructor & Destructor Documentation

◆ Tensor2() [1/3]

template<class T , int Tensor_Dim0, int Tensor_Dim1, int I>
template<class... U>
FTensor::Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 >::Tensor2 ( U *...  d)
inline

Definition at line 216 of file Tensor2_pointer.hpp.

216 : Tensor2<T *, Tensor_Dim0, Tensor_Dim1>(d...) {}

◆ Tensor2() [2/3]

template<class T , int Tensor_Dim0, int Tensor_Dim1, int I>
FTensor::Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 >::Tensor2 ( )
inline

Definition at line 218 of file Tensor2_pointer.hpp.

218 : Tensor2<T, Tensor_Dim0, Tensor_Dim1>() {}

◆ Tensor2() [3/3]

template<class T , int Tensor_Dim0, int Tensor_Dim1, int I>
template<class U >
FTensor::Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 >::Tensor2 ( std::array< U *, Tensor_Dim0 *Tensor_Dim1 > &  a)
inline

Definition at line 221 of file Tensor2_pointer.hpp.

222  : Tensor2<T *, Tensor_Dim0, Tensor_Dim1>(a) {}

Member Function Documentation

◆ operator++()

template<class T , int Tensor_Dim0, int Tensor_Dim1, int I>
const Tensor2& FTensor::Tensor2< PackPtr< T *, I >, Tensor_Dim0, Tensor_Dim1 >::operator++ ( ) const
inline

Definition at line 227 of file Tensor2_pointer.hpp.

227  {
228  for (int i = 0; i < Tensor_Dim0; ++i)
229  for (int j = 0; j < Tensor_Dim1; ++j)
231  return *this;
232  }

The documentation for this class was generated from the following file:
FTensor::d
const Tensor1_Expr< const dTensor0< T, Dim, i >, typename promote< T, double >::V, Dim, i > d(const Tensor0< T * > &a, const Index< i, Dim > index, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
Definition: dTensor0.hpp:27
I
constexpr IntegrationType I
Definition: operators_tests.cpp:31
a
constexpr double a
Definition: approx_sphere.cpp:30
FTensor::Tensor2< T *, Tensor_Dim0, Tensor_Dim1 >::data
T *restrict data[Tensor_Dim0][Tensor_Dim1]
Definition: Tensor2_pointer.hpp:12
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19