vq3
Public Member Functions | Public Attributes | List of all members
vq3::utils::accum< INCREMENTABLE, NB_TYPE > Struct Template Reference

Public Member Functions

 accum (const accum &)=default
 
accumoperator= (const accum &)=default
 
 accum (accum &&)=default
 
accumoperator= (accum &&)=default
 
template<typename NB_AVG_TYPE = NB_TYPE>
auto average () const
 
void clear ()
 
accumoperator= (const INCREMENTABLE &v)
 
accumincrement (NB_TYPE coef, const INCREMENTABLE &v)
 
accumoperator+= (const INCREMENTABLE &v)
 
accumoperator+= (const accum &a)
 

Public Attributes

NB_TYPE nb
 
INCREMENTABLE value
 

Member Function Documentation

◆ average()

template<typename INCREMENTABLE , typename NB_TYPE >
template<typename NB_AVG_TYPE = NB_TYPE>
auto vq3::utils::accum< INCREMENTABLE, NB_TYPE >::average ( ) const
inline

Returns the average. The template argument is the type for casting nb befor the division.

Returns
value/(NB_AVG_TYPE)nb;

◆ increment()

template<typename INCREMENTABLE , typename NB_TYPE >
accum& vq3::utils::accum< INCREMENTABLE, NB_TYPE >::increment ( NB_TYPE  coef,
const INCREMENTABLE &  v 
)
inline

nb += coef; value += v;

◆ operator+=() [1/2]

template<typename INCREMENTABLE , typename NB_TYPE >
accum& vq3::utils::accum< INCREMENTABLE, NB_TYPE >::operator+= ( const accum< INCREMENTABLE, NB_TYPE > &  a)
inline

nb += a.nb; value += a.value;

◆ operator+=() [2/2]

template<typename INCREMENTABLE , typename NB_TYPE >
accum& vq3::utils::accum< INCREMENTABLE, NB_TYPE >::operator+= ( const INCREMENTABLE &  v)
inline

nb += 1; value += v;

◆ operator=()

template<typename INCREMENTABLE , typename NB_TYPE >
accum& vq3::utils::accum< INCREMENTABLE, NB_TYPE >::operator= ( const INCREMENTABLE &  v)
inline

nb = 1, value = v nb += 1; value += v;


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