QMCPACK
TrinaryNode< Op, Left, Middle, Right > Class Template Reference
+ Collaboration diagram for TrinaryNode< Op, Left, Middle, Right >:

Public Member Functions

const Op & operation () const
 
DeReference< Left >::Return_t left () const
 
DeReference< Right >::Return_t right () const
 
DeReference< Middle >::Return_t middle () const
 
 TrinaryNode (const Op &o, const Left &l, const Middle &m, const Right &r)
 
 TrinaryNode (const Left &l, const Middle &m, const Right &r)
 
 TrinaryNode (const TrinaryNode< Op, Left, Middle, Right > &t)
 
template<class OtherLeft , class OtherMiddle , class OtherRight >
 TrinaryNode (const TrinaryNode< Op, OtherLeft, OtherMiddle, OtherRight > &t)
 
template<class OtherLeft , class OtherMiddle , class OtherRight , class Arg >
 TrinaryNode (const TrinaryNode< Op, OtherLeft, OtherMiddle, OtherRight > &t, const Arg &a)
 
template<class OtherLeft , class OtherMiddle , class OtherRight , class Arg1 , class Arg2 >
 TrinaryNode (const TrinaryNode< Op, OtherLeft, OtherMiddle, OtherRight > &t, const Arg1 &a1, const Arg2 &a2)
 

Private Attributes

Op op_m
 
Left left_m
 
Middle middle_m
 
Right right_m
 

Detailed Description

template<class Op, class Left, class Middle, class Right>
class qmcplusplus::TrinaryNode< Op, Left, Middle, Right >

Definition at line 290 of file TreeNodes.h.

Constructor & Destructor Documentation

◆ TrinaryNode() [1/6]

TrinaryNode ( const Op &  o,
const Left &  l,
const Middle &  m,
const Right &  r 
)
inline

Definition at line 307 of file TreeNodes.h.

◆ TrinaryNode() [2/6]

TrinaryNode ( const Left &  l,
const Middle &  m,
const Right &  r 
)
inline

Definition at line 314 of file TreeNodes.h.

◆ TrinaryNode() [3/6]

TrinaryNode ( const TrinaryNode< Op, Left, Middle, Right > &  t)
inline

Definition at line 319 of file TreeNodes.h.

320  : op_m(t.operation()), left_m(t.left()), middle_m(t.middle()), right_m(t.right())
321  {}

◆ TrinaryNode() [4/6]

TrinaryNode ( const TrinaryNode< Op, OtherLeft, OtherMiddle, OtherRight > &  t)
inline

Definition at line 329 of file TreeNodes.h.

330  : op_m(t.operation()), left_m(t.left()), middle_m(t.middle()), right_m(t.right())
331  {}

◆ TrinaryNode() [5/6]

TrinaryNode ( const TrinaryNode< Op, OtherLeft, OtherMiddle, OtherRight > &  t,
const Arg &  a 
)
inline

Definition at line 340 of file TreeNodes.h.

341  : op_m(t.operation()), left_m(t.left(), a), middle_m(t.middle(), a), right_m(t.right(), a)
342  {}

◆ TrinaryNode() [6/6]

TrinaryNode ( const TrinaryNode< Op, OtherLeft, OtherMiddle, OtherRight > &  t,
const Arg1 &  a1,
const Arg2 &  a2 
)
inline

Definition at line 351 of file TreeNodes.h.

352  : op_m(t.operation()), left_m(t.left(), a1, a2), middle_m(t.middle(), a1, a2), right_m(t.right(), a1, a2)
353  {}

Member Function Documentation

◆ left()

◆ middle()

◆ operation()

const Op& operation ( ) const
inline

◆ right()

Member Data Documentation

◆ left_m

Left left_m
private

Definition at line 360 of file TreeNodes.h.

Referenced by TrinaryNode< Op, Left, Middle, Right >::left().

◆ middle_m

Middle middle_m
private

Definition at line 361 of file TreeNodes.h.

Referenced by TrinaryNode< Op, Left, Middle, Right >::middle().

◆ op_m

Op op_m
private

Definition at line 359 of file TreeNodes.h.

Referenced by TrinaryNode< Op, Left, Middle, Right >::operation().

◆ right_m

Right right_m
private

Definition at line 362 of file TreeNodes.h.

Referenced by TrinaryNode< Op, Left, Middle, Right >::right().


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