QMCPACK
ForEach< BinaryNode< Op, A, B >, FTag, CTag > Struct Template Reference
+ Collaboration diagram for ForEach< BinaryNode< Op, A, B >, 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 Type_t = typename Combine2< TypeA_t, TypeB_t, Op, CTag >::Type_t
 

Static Public Member Functions

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

Detailed Description

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

Definition at line 104 of file ForEach.h.

Member Typedef Documentation

◆ Type_t

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

Definition at line 108 of file ForEach.h.

◆ TypeA_t

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

Definition at line 106 of file ForEach.h.

◆ TypeB_t

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

Definition at line 107 of file ForEach.h.

Member Function Documentation

◆ apply()

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

Definition at line 109 of file ForEach.h.

References BinaryNode< Op, Left, Right >::left(), BinaryNode< Op, Left, Right >::operation(), and BinaryNode< Op, Left, Right >::right().

110  {
111  return Combine2<TypeA_t, TypeB_t, Op, CTag>::combine(ForEach<A, FTag, CTag>::apply(expr.left(), f, c),
112  ForEach<B, FTag, CTag>::apply(expr.right(), f, c),
113  expr.operation(), c);
114  }
static Type_t apply(const Expr &expr, const FTag &f, const CTag &)
Definition: ForEach.h:80

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