12 namespace alps {
namespace alea {
15 template <
typename T,
typename Str>
class cov_result;
25 namespace alps {
namespace alea {
namespace internal {
29 template <
typename T1,
typename T2>
32 return std::is_same<typename T1::value_type, typename T2::value_type>::value
33 && T1::HAVE_BATCH && T2::HAVE_BATCH;
36 template <
typename T1,
typename T2>
39 return std::is_same<typename T1::value_type, typename T2::value_type>::value
40 && T1::HAVE_TAU && T2::HAVE_TAU;
43 template <
typename T1,
typename T2>
46 return std::is_same<typename T1::value_type, typename T2::value_type>::value
47 && T1::HAVE_COV && T2::HAVE_COV
48 && !(T1::HAVE_BATCH && T2::HAVE_BATCH);
51 template <
typename T1,
typename T2>
54 return std::is_same<typename T1::value_type, typename T2::value_type>::value
55 && (T1::HAVE_VAR && T2::HAVE_VAR)
56 && !(T1::HAVE_COV && T2::HAVE_COV)
57 && !(T1::HAVE_TAU && T2::HAVE_TAU)
58 && !(T1::HAVE_BATCH && T2::HAVE_BATCH);
61 template <
typename T1,
typename T2>
64 return std::is_same<typename T1::value_type, typename T2::value_type>::value
65 && T1::HAVE_MEAN && T2::HAVE_MEAN
66 && !(T1::HAVE_VAR && T2::HAVE_VAR);
72 template <
typename R1,
typename R2,
typename Enabler=
void>
75 template <
typename R1,
typename R2>
77 typename
std::enable_if<joins_batch<traits<R1>, traits<R2> >()>::type>
82 template <
typename R1,
typename R2>
84 typename
std::enable_if<joins_autocorr<traits<R1>, traits<R2> >()>::type>
89 template <
typename R1,
typename R2>
91 typename
std::enable_if<joins_cov<traits<R1>, traits<R2> >()>::type>
97 template <
typename R1,
typename R2>
99 typename
std::enable_if<joins_var<traits<R1>, traits<R2> >()>::type>
105 template <
typename R1,
typename R2>
107 typename
std::enable_if<joins_mean<traits<R1>, traits<R2> >()>::type>
var_result< typename traits< R1 >::value_type, typename traits< R1 >::strategy_type > result_type
constexpr bool joins_mean()
constexpr bool joins_var()
mean_result< typename traits< R1 >::value_type > result_type
constexpr bool joins_autocorr()
autocorr_result< typename traits< R1 >::value_type > result_type
constexpr bool joins_cov()
batch_result< typename traits< R1 >::value_type > result_type
cov_result< typename traits< R1 >::value_type, typename traits< R1 >::strategy_type > result_type
constexpr bool joins_batch()