fmatvec  0.0.0
fmatvec::Eval< Arg > Class Template Reference

Public Member Functions

 Eval (const Eval &src)=delete
 
 Eval (Eval &&src)=delete
 
Eval< Arg... > & operator= (const Eval &src)=delete
 
Eval< Arg... > & operator= (Eval &&src)=delete
 
 Eval (const Arg &... arg)
 
const NumRetType & operator() () const
 

Private Types

using SymTuple = std::tuple< Arg... >
 
using NumTuple = std::tuple< typename ReplaceAT< Arg, double >::Type... >
 
using NumRetType = std::conditional_t< std::tuple_size_v< NumTuple >==1, std::tuple_element_t< 0, NumTuple >, NumTuple >
 

Private Member Functions

template<int I = 0>
void walkAT (const SymTuple &symTuple, NumTuple &numTuple, const std::function< void(const SymbolicExpression &, double &)> &func)
 
void ctorByteCode (const Arg &... arg)
 
void callByteCode () const
 

Private Attributes

NumTuple numTuple
 
std::set< std::shared_ptr< const AST::Symbol > > symbolStore
 
std::vector< AST::ByteCodebyteCode
 

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