SUNphi  1.0
SUNphi::NnarySmET< T > Struct Template Reference

Nnary SmET. More...

#include <NnarySmET.hpp>

Inheritance diagram for SUNphi::NnarySmET< T >:
SUNphi::SmET< T > SUNphi::BaseNnarySmET SUNphi::BaseSmET SUNphi::BaseSmET

Public Member Functions

T & operator~ ()
 
const T & operator~ () const
 
template<int I, typename Tp , int... Pos>
decltype(auto) _refEvalByCompsName (IntSeq< I >, IntSeq< Pos... >, Tp &&targs) const
 < Components to get More...
 
template<typename... Ts>
decltype(auto) _refEvalByCompsName (Ts &&...ts)
 
template<int I, typename Tp >
decltype(auto) refEvalByCompsName (Tp &&targs) const
 < Components to get More...
 
template<int I, typename Tp >
decltype(auto) refEvalByCompsName (Tp &&targs)
 
template<int... I, typename... Args>
decltype(auto) evalThroughRepresentativeFunctionPassingCompsByName (IntSeq< I... >, const Args &...args) const
 < Components to get More...
 
template<typename... Ts>
decltype(auto) evalThroughRepresentativeFunctionPassingCompsByName (Ts &&...ts)
 
template<typename... Oth>
decltype(auto) operator() (Oth &&...oth)
 
template<typename... Oth>
decltype(auto) operator() (Oth &&...oth) const
 

Static Public Attributes

static constexpr bool isAssignable = false
 

Detailed Description

template<typename T>
struct SUNphi::NnarySmET< T >

Nnary SmET.

Inheriting type

Definition at line 40 of file NnarySmET.hpp.

Member Function Documentation

template<typename T>
template<int I, typename Tp , int... Pos>
decltype(auto) SUNphi::NnarySmET< T >::_refEvalByCompsName ( IntSeq< I >  ,
IntSeq< Pos... >  ,
Tp &&  targs 
) const
inline

< Components to get

Evaluate the I-th reference, getting from the Tuple targs the element Pos

Internal implementation

Definition at line 54 of file NnarySmET.hpp.

template<typename T>
template<typename... Ts>
decltype(auto) SUNphi::NnarySmET< T >::_refEvalByCompsName ( Ts &&...  ts)
inline

Overload the _refEvalByCompsName const method passing all args

Parameters
tsArguments

Definition at line 61 of file NnarySmET.hpp.

template<typename T>
template<int... I, typename... Args>
decltype(auto) SUNphi::NnarySmET< T >::evalThroughRepresentativeFunctionPassingCompsByName ( IntSeq< I... >  ,
const Args &...  args 
) const
inline

< Components to get

Evaluate the result by calling a representative function

The result is obtained after splitting the components, identifying them trough the name of each TensComp

Definition at line 93 of file NnarySmET.hpp.

template<typename T>
template<typename... Ts>
decltype(auto) SUNphi::NnarySmET< T >::evalThroughRepresentativeFunctionPassingCompsByName ( Ts &&...  ts)
inline

Overload the evalThroughRepresentativeFunctionPassingCompsByName const method passing all args

Parameters
tsArguments

Definition at line 101 of file NnarySmET.hpp.

template<typename T>
template<typename... Oth>
decltype(auto) SUNphi::SmET< T >::operator() ( Oth &&...  oth)
inlineinherited

Implements the call operator via CRTP

Parameters
othOther quantit

Definition at line 289 of file BaseSmET.hpp.

template<typename T>
template<typename... Oth>
decltype(auto) SUNphi::SmET< T >::operator() ( Oth &&...  oth) const
inlineinherited

Implements the const call operator via CRTP

< Other quantit

Definition at line 290 of file BaseSmET.hpp.

template<typename T>
const T& SUNphi::NnarySmET< T >::operator~ ( ) const
inline

Constant cast operator to class T

Definition at line 46 of file NnarySmET.hpp.

template<typename T>
T& SUNphi::NnarySmET< T >::operator~ ( )
inline

Cast operator to class T

Definition at line 46 of file NnarySmET.hpp.

template<typename T>
template<int I, typename Tp >
decltype(auto) SUNphi::NnarySmET< T >::refEvalByCompsName ( Tp &&  targs) const
inline

< Components to get

Evaluate the I-th reference, getting from the Tuple targs the element Pos

External implementation, using PosOfResTcsPresInRefsTk to dispatch components

Position of TensComp of the reference Tk present in thr result

Definition at line 68 of file NnarySmET.hpp.

template<typename T>
template<int I, typename Tp >
decltype(auto) SUNphi::NnarySmET< T >::refEvalByCompsName ( Tp &&  targs)
inline

Evaluate the I-th reference, getting from the Tuple targs the element Pos

Non const version

Definition at line 82 of file NnarySmET.hpp.

Member Data Documentation

template<typename T>
constexpr bool SUNphi::NnarySmET< T >::isAssignable = false
static

Returns whether this SmET can be the left hand of an assignement

This SmET can never be lhs

Definition at line 44 of file NnarySmET.hpp.


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