ALPSCore reference
Public Types | Public Member Functions | Static Public Member Functions | List of all members
alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B > Struct Template Reference

#include <weight_holder.hpp>

Inheritance diagram for alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >:
Inheritance graph
Collaboration diagram for alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >:
Collaboration graph

Public Types

typedef W weight_type
 
typedef Result< T, weight_holder_tag< W >, typename B::result_type > result_type
 

Public Member Functions

 Accumulator ()
 
 Accumulator (Accumulator const &arg)
 
template<typename ArgumentPack >
 Accumulator (ArgumentPack const &args, typename std::enable_if<!is_accumulator< ArgumentPack >::value, int >::type=0)
 
base_wrapper< T > const * weight () const
 
void operator() (T const &val)
 
template<typename X >
std::enable_if< std::conditional< std::is_scalar< typename value_type< weight_type >::type >::value, typename std::is_convertible< X, typename value_type< weight_type >::type >::type, typename std::is_same< X, typename value_type< weight_type >::type >::type >::value >::type operator() (T const &val, X const &weight)
 
template<typename X >
std::enable_if<!std::conditional< std::is_scalar< typename value_type< weight_type >::type >::value, typename std::is_convertible< X, typename value_type< weight_type >::type >::type, typename std::is_same< X, typename value_type< weight_type >::type >::type >::value >::type operator() (T const &, X const &)
 
template<typename S >
void print (S &os, bool terse=false) const
 
void save (hdf5::archive &ar) const
 
void load (hdf5::archive &ar)
 
void reset ()
 
template<typename A >
void merge (const A &)
 Merge placeholder. More...
 
bool owns_weight () const
 

Static Public Member Functions

static std::size_t rank ()
 
static bool can_load (hdf5::archive &ar)
 

Detailed Description

template<typename T, typename W, typename B>
struct alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >

Definition at line 32 of file weight_holder.hpp.

Member Typedef Documentation

template<typename T , typename W , typename B >
typedef Result<T, weight_holder_tag<W>, typename B::result_type> alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::result_type

Definition at line 36 of file weight_holder.hpp.

template<typename T , typename W , typename B >
typedef W alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::weight_type

Definition at line 35 of file weight_holder.hpp.

Constructor & Destructor Documentation

template<typename T , typename W , typename B >
alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::Accumulator ( )
inline

Definition at line 40 of file weight_holder.hpp.

template<typename T , typename W , typename B >
alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::Accumulator ( Accumulator< T, weight_holder_tag< W >, B > const &  arg)
inline

Definition at line 42 of file weight_holder.hpp.

template<typename T , typename W , typename B >
template<typename ArgumentPack >
alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::Accumulator ( ArgumentPack const &  args,
typename std::enable_if<!is_accumulator< ArgumentPack >::value, int >::type  = 0 
)
inline

Definition at line 44 of file weight_holder.hpp.

Member Function Documentation

template<typename T , typename W , typename B >
static bool alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::can_load ( hdf5::archive ar)
inlinestatic

Definition at line 93 of file weight_holder.hpp.

template<typename T , typename W , typename B >
void alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::load ( hdf5::archive ar)
inline

Definition at line 87 of file weight_holder.hpp.

template<typename T , typename W , typename B >
template<typename A >
void alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::merge ( const A &  )
inline

Merge placeholder.

Remarks
FIXME: always throws

Definition at line 110 of file weight_holder.hpp.

template<typename T , typename W , typename B >
void alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::operator() ( T const &  val)
inline

Definition at line 53 of file weight_holder.hpp.

template<typename T , typename W , typename B >
template<typename X >
std::enable_if<std::conditional< std::is_scalar<typename value_type<weight_type>::type>::value , typename std::is_convertible<X, typename value_type<weight_type>::type>::type , typename std::is_same<X, typename value_type<weight_type>::type>::type >::value>::type alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::operator() ( T const &  val,
X const &  weight 
)
inline

Definition at line 62 of file weight_holder.hpp.

template<typename T , typename W , typename B >
template<typename X >
std::enable_if<!std::conditional< std::is_scalar<typename value_type<weight_type>::type>::value , typename std::is_convertible<X, typename value_type<weight_type>::type>::type , typename std::is_same<X, typename value_type<weight_type>::type>::type >::value>::type alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::operator() ( T const &  ,
X const &   
)
inline

Definition at line 72 of file weight_holder.hpp.

template<typename T , typename W , typename B >
bool alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::owns_weight ( ) const
inline

Definition at line 134 of file weight_holder.hpp.

template<typename T , typename W , typename B >
template<typename S >
void alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::print ( S &  os,
bool  terse = false 
) const
inline

Definition at line 76 of file weight_holder.hpp.

template<typename T , typename W , typename B >
static std::size_t alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::rank ( )
inlinestatic

Definition at line 92 of file weight_holder.hpp.

template<typename T , typename W , typename B >
void alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::reset ( )
inline

Definition at line 103 of file weight_holder.hpp.

template<typename T , typename W , typename B >
void alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::save ( hdf5::archive ar) const
inline

Definition at line 82 of file weight_holder.hpp.

template<typename T , typename W , typename B >
base_wrapper<T> const* alps::accumulators::impl::Accumulator< T, weight_holder_tag< W >, B >::weight ( ) const
inline

Definition at line 48 of file weight_holder.hpp.


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