QuadExpr

Doxygen

template<classKeyT=idol::Var,classValueT=double>
classQuadExpr:publicidol::LinExpr<CommutativePair<idol::Var>,double>

Public Types

usingiterator=typenamemap_t::iterator
usingconst_iterator=typenamemap_t::const_iterator

Public Functions

QuadExpr()=default
inlineQuadExpr(ValueTt_constant)
inlineQuadExpr(constKeyT&t_key)
inlineQuadExpr(LinExpr<KeyT,ValueT>t_expr)
inlineQuadExpr(AffExpr<KeyT,ValueT>t_expr)
inlineQuadExpr(constKeyT&t_key1, constKeyT&t_key2)
inlineQuadExpr(constValueT&t_factor, constKeyT&t_key1, constKeyT&t_key2)
inlineQuadExpr(ValueT&&t_factor, constKeyT&t_key1, constKeyT&t_key2)
inlineQuadExpr(constValueT&t_factor, constKeyT&t_key)
inlineQuadExpr(ValueT&&t_factor, constKeyT&t_key)
QuadExpr(constQuadExpr&t_src)=default
QuadExpr(QuadExpr&&)noexcept=default
QuadExpr&operator=(constQuadExpr&t_rhs)=default
QuadExpr&operator=(QuadExpr&&)noexcept=default
QuadExpr&operator+=(constQuadExpr&t_rhs)
QuadExpr&operator-=(constQuadExpr&t_rhs)
QuadExpr&operator*=(doublet_rhs)
QuadExpr&operator/=(doublet_rhs)
QuadExproperator-()const
inlineAffExpr<KeyT,ValueT>&affine()
inlineconstAffExpr<KeyT,ValueT>&affine()const
inlineboolhas_quadratic()const
inlineboolempty_all()const
virtualboolis_zero(doublet_tolerance)constoverride
voidclear_all()
LinExpr&operator+=(constLinExpr<KeyT,ValueT>&t_rhs)
LinExpr&operator+=(constKeyT&t_rhs)
virtualSparseVector&operator+=(constSparseVector&t_vector)
LinExpr&operator-=(constLinExpr<KeyT,ValueT>&t_rhs)
LinExpr&operator-=(constKeyT&t_rhs)
virtualSparseVector&operator-=(constSparseVector&t_vector)
virtualSparseVector&operator*=(std::conditional_t<std::is_arithmetic_v<ValueT>,ValueT,double>t_scalar)
virtualSparseVector&operator/=(std::conditional_t<std::is_arithmetic_v<ValueT>,ValueT,double>t_scalar)
inlineunsignedintsize()const
inlineboolempty()const
inlineboolhas_index(constIndexT&t_index)const
constValueT&get(constIndexT&t_index1)const
voidset(constIndexT&t_index, constValueT&t_value)
inlinevoidremove(constIndexT&t_index)
inlinevoidclear()
inlinevoidreserve(unsignedintt_capacity)
inlineiteratorbegin()
inlineconst_iteratorbegin()const
inlineiteratorend()
inlineconst_iteratorend()const
inlineconst_iteratorcbegin()const
inlineconst_iteratorcend()const
SparseVector&merge_without_conflict(constSparseVector&t_vec)

Public Static Attributes

staticLinExpr<KeyT,ValueT>Zero={}