QMCPACK
ForEach< TrinaryNode< Op, A, B, C >, FTag, CTag > Struct Template Reference
+ Collaboration diagram for ForEach< TrinaryNode< Op, A, B, C >, FTag, CTag >:

Public Types

using TypeA_t = typename ForEach< A, FTag, CTag >::Type_t
 
using TypeB_t = typename ForEach< B, FTag, CTag >::Type_t
 
using TypeC_t = typename ForEach< C, FTag, CTag >::Type_t
 
using Type_t = typename Combine3< TypeA_t, TypeB_t, TypeC_t, Op, CTag >::Type_t
 

Static Public Member Functions

static Type_t apply (const TrinaryNode< Op, A, B, C > &expr, const FTag &f, const CTag &c)
 

Detailed Description

template<class Op, class A, class B, class C, class FTag, class CTag>
struct qmcplusplus::ForEach< TrinaryNode< Op, A, B, C >, FTag, CTag >

Definition at line 118 of file ForEach.h.

Member Typedef Documentation

◆ Type_t

using Type_t = typename Combine3<TypeA_t, TypeB_t, TypeC_t, Op, CTag>::Type_t

Definition at line 123 of file ForEach.h.

◆ TypeA_t

using TypeA_t = typename ForEach<A, FTag, CTag>::Type_t

Definition at line 120 of file ForEach.h.

◆ TypeB_t

using TypeB_t = typename ForEach<B, FTag, CTag>::Type_t

Definition at line 121 of file ForEach.h.

◆ TypeC_t

using TypeC_t = typename ForEach<C, FTag, CTag>::Type_t

Definition at line 122 of file ForEach.h.

Member Function Documentation

◆ apply()

static Type_t apply ( const TrinaryNode< Op, A, B, C > &  expr,
const FTag &  f,
const CTag &  c 
)
inlinestatic

Definition at line 124 of file ForEach.h.

References Combine3< A, B, C, Op, Tag >::combine(), TrinaryNode< Op, Left, Middle, Right >::left(), TrinaryNode< Op, Left, Middle, Right >::middle(), TrinaryNode< Op, Left, Middle, Right >::operation(), and TrinaryNode< Op, Left, Middle, Right >::right().

125  {
127  ForEach<B, FTag, CTag>::apply(expr.middle(), f, c),
128  ForEach<C, FTag, CTag>::apply(expr.right(), f, c),
129  expr.operation(), c);
130  }
static Type_t apply(const Expr &expr, const FTag &f, const CTag &)
Definition: ForEach.h:80
static Type_t combine(const A &a, const B &b, const C &c, const Op &op, const Tag &t)
Definition: Combiners.h:103

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