autoppl  v0.8
A C++ template library for probabilistic programming
ppl::TParamViewBase< TParamView< ValueType, ShapeType > > Struct Template Reference

#include <tparam.hpp>

Public Types

using value_t = ValueType
 
using shape_t = ShapeType
 
using derived_t = TParamView< value_t, shape_t >
 
using var_t = util::var_t< value_t, shape_t >
 
using id_t = const void *
 

Public Member Functions

 TParamViewBase (details::TParamInfoPack *i_pack, size_t rows=1, size_t cols=1) noexcept
 
template<class VarExprType , class = std::enable_if_t< util::is_valid_op_param_v<VarExprType> >>
auto operator= (const VarExprType &expr) const
 
template<class Func >
void traverse (Func &&) const
 
const var_teval ()
 
template<class UCValPtrType , class UCAdjPtrType , class CValPtrType >
auto ad (const util::PtrPack< UCValPtrType, UCAdjPtrType, value_t *, value_t *, CValPtrType > &pack) const
 
void activate (util::OffsetPack &pack) const
 
void activate_refcnt () const
 
template<class PtrPackType >
void bind (const PtrPackType &pack)
 
var_tget ()
 
const var_tget () const
 
constexpr size_t size () const
 
constexpr size_t rows () const
 
constexpr size_t cols () const
 
id_t id () const
 

Static Public Attributes

static constexpr bool has_param = true
 

Protected Types

using view_t = ad::util::shape_to_raw_view_t< value_t, shape_t >
 

Protected Attributes

details::TParamInfoPack *const i_pack_
 
view_t var_
 
const id_t id_
 

Member Typedef Documentation

◆ derived_t

template<class ValueType , class ShapeType >
using ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::derived_t = TParamView<value_t, shape_t>

◆ id_t

template<class ValueType , class ShapeType >
using ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::id_t = const void*

◆ shape_t

template<class ValueType , class ShapeType >
using ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::shape_t = ShapeType

◆ value_t

template<class ValueType , class ShapeType >
using ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::value_t = ValueType

◆ var_t

template<class ValueType , class ShapeType >
using ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::var_t = util::var_t<value_t, shape_t>

◆ view_t

template<class ValueType , class ShapeType >
using ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::view_t = ad::util::shape_to_raw_view_t<value_t, shape_t>
protected

Constructor & Destructor Documentation

◆ TParamViewBase()

template<class ValueType , class ShapeType >
ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::TParamViewBase ( details::TParamInfoPack i_pack,
size_t  rows = 1,
size_t  cols = 1 
)
inlinenoexcept

Member Function Documentation

◆ activate()

template<class ValueType , class ShapeType >
void ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::activate ( util::OffsetPack pack) const
inline

◆ activate_refcnt()

template<class ValueType , class ShapeType >
void ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::activate_refcnt ( ) const
inline

◆ ad()

template<class ValueType , class ShapeType >
template<class UCValPtrType , class UCAdjPtrType , class CValPtrType >
auto ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::ad ( const util::PtrPack< UCValPtrType, UCAdjPtrType, value_t *, value_t *, CValPtrType > &  pack) const
inline

◆ bind()

template<class ValueType , class ShapeType >
template<class PtrPackType >
void ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::bind ( const PtrPackType &  pack)
inline

◆ cols()

template<class ValueType , class ShapeType >
constexpr size_t ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::cols ( ) const
inlineconstexpr

◆ eval()

template<class ValueType , class ShapeType >
const var_t& ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::eval ( )
inline

◆ get() [1/2]

template<class ValueType , class ShapeType >
var_t& ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::get ( )
inline

◆ get() [2/2]

template<class ValueType , class ShapeType >
const var_t& ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::get ( ) const
inline

◆ id()

template<class ValueType , class ShapeType >
id_t ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::id ( ) const
inline

◆ operator=()

template<class ValueType , class ShapeType >
template<class VarExprType , class = std::enable_if_t< util::is_valid_op_param_v<VarExprType> >>
auto ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::operator= ( const VarExprType &  expr) const
inline

◆ rows()

template<class ValueType , class ShapeType >
constexpr size_t ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::rows ( ) const
inlineconstexpr

◆ size()

template<class ValueType , class ShapeType >
constexpr size_t ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::size ( ) const
inlineconstexpr

◆ traverse()

template<class ValueType , class ShapeType >
template<class Func >
void ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::traverse ( Func &&  ) const
inline

Member Data Documentation

◆ has_param

template<class ValueType , class ShapeType >
constexpr bool ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::has_param = true
staticconstexpr

◆ i_pack_

template<class ValueType , class ShapeType >
details::TParamInfoPack* const ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::i_pack_
protected

◆ id_

template<class ValueType , class ShapeType >
const id_t ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::id_
protected

◆ var_

template<class ValueType , class ShapeType >
view_t ppl::TParamViewBase< TParamView< ValueType, ShapeType > >::var_
protected

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