autoppl  v0.8
A C++ template library for probabilistic programming
ppl::expr::var::GlueNode< LHSExprType, RHSExprType > Struct Template Reference

#include <glue.hpp>

Inheritance diagram for ppl::expr::var::GlueNode< LHSExprType, RHSExprType >:
ppl::util::VarExprBase< GlueNode< LHSExprType, RHSExprType > > ppl::util::BaseCRTP< GlueNode< LHSExprType, RHSExprType > >

Public Types

using value_t = typename util::var_expr_traits< rhs_t >::value_t
 
using shape_t = typename util::shape_traits< rhs_t >::shape_t
 

Public Member Functions

 GlueNode (const lhs_t &lhs, const rhs_t &rhs)
 
template<class Func >
void traverse (Func &&f)
 
template<class Func >
void traverse (Func &&f) const
 
auto get () const
 
auto eval ()
 
constexpr size_t size () const
 
constexpr size_t rows () const
 
constexpr size_t cols () const
 
template<class PtrPackType >
auto ad (const PtrPackType &pack) const
 
template<class PtrPackType >
void bind (const PtrPackType &pack)
 
void activate_refcnt () const
 
- Public Member Functions inherited from ppl::util::BaseCRTP< GlueNode< LHSExprType, RHSExprType > >
GlueNode< LHSExprType, RHSExprType > & self ()
 
const GlueNode< LHSExprType, RHSExprType > & self () const
 

Static Public Attributes

static constexpr bool has_param
 

Member Typedef Documentation

◆ shape_t

template<class LHSExprType , class RHSExprType >
using ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::shape_t = typename util::shape_traits<rhs_t>::shape_t

◆ value_t

template<class LHSExprType , class RHSExprType >
using ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::value_t = typename util::var_expr_traits<rhs_t>::value_t

Constructor & Destructor Documentation

◆ GlueNode()

template<class LHSExprType , class RHSExprType >
ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::GlueNode ( const lhs_t &  lhs,
const rhs_t &  rhs 
)
inline

Member Function Documentation

◆ activate_refcnt()

template<class LHSExprType , class RHSExprType >
void ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::activate_refcnt ( ) const
inline

◆ ad()

template<class LHSExprType , class RHSExprType >
template<class PtrPackType >
auto ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::ad ( const PtrPackType &  pack) const
inline

◆ bind()

template<class LHSExprType , class RHSExprType >
template<class PtrPackType >
void ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::bind ( const PtrPackType &  pack)
inline

◆ cols()

template<class LHSExprType , class RHSExprType >
constexpr size_t ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::cols ( ) const
inlineconstexpr

◆ eval()

template<class LHSExprType , class RHSExprType >
auto ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::eval ( )
inline

◆ get()

template<class LHSExprType , class RHSExprType >
auto ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::get ( ) const
inline

◆ rows()

template<class LHSExprType , class RHSExprType >
constexpr size_t ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::rows ( ) const
inlineconstexpr

◆ size()

template<class LHSExprType , class RHSExprType >
constexpr size_t ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::size ( ) const
inlineconstexpr

◆ traverse() [1/2]

template<class LHSExprType , class RHSExprType >
template<class Func >
void ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::traverse ( Func &&  f)
inline

◆ traverse() [2/2]

template<class LHSExprType , class RHSExprType >
template<class Func >
void ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::traverse ( Func &&  f) const
inline

Member Data Documentation

◆ has_param

template<class LHSExprType , class RHSExprType >
constexpr bool ppl::expr::var::GlueNode< LHSExprType, RHSExprType >::has_param
staticconstexpr

The documentation for this struct was generated from the following file:
ppl::util::var_expr_traits::has_param
static constexpr bool has_param
Definition: var_expr_traits.hpp:30