![]() |
Home | Libraries | People | FAQ | More |
Includes all of the Accumulators Framework
包含累加器框架的所有東西
BOOST_ACCUMULATORS_MAX_FEATURES
BOOST_ACCUMULATORS_MAX_ARGS
BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(T)
BOOST_PARAMETER_NESTED_KEYWORD(tag_namespace, name, alias)
namespace boost {
namespace accumulators {
template<typename Feature, typename AccumulatorSet>
mpl::apply< AccumulatorSet, Feature >::type const &
find_accumulator(AccumulatorSet const & acc);
template<typename Feature, typename AccumulatorSet>
mpl::apply< AccumulatorSet, Feature >::type::result_type
extract_result(AccumulatorSet const & acc);
template<typename Feature, typename AccumulatorSet, typename A1>
mpl::apply< AccumulatorSet, Feature >::type::result_type
extract_result(AccumulatorSet const & acc, A1 const & a1);
namespace impl {
}
namespace tag {
}
}
}
namespace boost {
namespace accumulators {
struct dont_care;
struct accumulator_base;
}
}
namespace boost {
namespace accumulators {
template<typename Stat> struct accumulator_concept;
}
}
namespace boost {
namespace accumulators {
template<typename Sample, typename Features, typename Weight>
struct accumulator_set;
template<typename Feature, typename AccumulatorSet>
mpl::apply< AccumulatorSet, Feature >::type &
find_accumulator(AccumulatorSet &acc BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST);
}
}
namespace boost {
namespace accumulators {
template<typename Accumulator> struct droppable_accumulator_base;
template<typename Accumulator> struct droppable_accumulator;
template<typename Accumulator> struct with_cached_result;
template<typename Feature> struct as_feature<tag::droppable< Feature >>;
template<typename Feature>
struct as_weighted_feature<tag::droppable< Feature >>;
template<typename Feature> struct feature_of<tag::droppable< Feature >>;
namespace tag {
template<typename Feature> struct as_droppable;
template<typename Feature> struct as_droppable<droppable< Feature >>;
template<typename Feature> struct droppable;
}
}
}
namespace boost {
namespace accumulators {
template<typename Feature, typename Tag, typename AccumulatorSet>
struct feature_of<tag::external< Feature, Tag, AccumulatorSet >>;
namespace impl {
}
namespace tag {
template<typename Feature, typename Tag, typename AccumulatorSet>
struct external;
template<typename Feature, typename Tag>
struct external<Feature, Tag, void>;
}
}
}
namespace boost {
namespace accumulators {
template<typename ValueType, typename Tag>
struct feature_of<tag::reference< ValueType, Tag >>;
namespace extract {
reference_tag;
BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, reference,
(typename)(typename));
}
namespace impl {
template<typename Referent, typename Tag> struct reference_accumulator_impl;
}
namespace tag {
template<typename Tag> struct reference_tag;
template<typename Referent, typename Tag> struct reference;
}
}
}
namespace boost {
namespace accumulators {
template<typename ValueType, typename Tag>
struct feature_of<tag::value< ValueType, Tag >>;
namespace extract {
value_tag;
BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, value, (typename)(typename));
}
namespace impl {
template<typename ValueType, typename Tag> struct value_accumulator_impl;
}
namespace tag {
template<typename Tag> struct value_tag;
template<typename ValueType, typename Tag> struct value;
}
}
}
namespace boost {
namespace accumulators {
template<typename Feature> struct as_feature;
template<typename Feature> struct as_weighted_feature;
template<typename Feature> struct feature_of;
template<typename Feature1, typename Feature2, ... > struct depends_on;
}
}
BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(Tag, Feature, ParamSeq)
namespace boost {
namespace accumulators {
template<typename Feature> struct extractor;
}
}
namespace boost {
namespace accumulators {
template<typename Feature1, typename Feature2, ... > struct features;
}
}
namespace boost {
namespace accumulators {
boost::parameter::keyword< tag::accumulator > const accumulator;
namespace tag {
struct accumulator;
}
}
}
namespace boost {
namespace accumulators {
boost::parameter::keyword< tag::sample > const sample;
namespace tag {
struct sample;
}
}
}
namespace boost {
namespace accumulators {
boost::parameter::keyword< tag::weight > const weight;
namespace tag {
struct weight;
}
}
}
namespace boost {
namespace accumulators {
boost::parameter::keyword< tag::weights > const weights;
namespace tag {
struct weights;
}
}
}
Includes all of the Statistical Accumulators Library
包含統計累加器庫的所有東西
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::count > const count;
}
namespace impl {
struct count_impl;
}
namespace tag {
struct count;
}
}
}
namespace boost {
namespace accumulators {
template<typename VariateType, typename VariateTag>
struct feature_of<tag::covariance< VariateType, VariateTag >>;
template<typename VariateType, typename VariateTag>
struct as_weighted_feature<tag::covariance< VariateType, VariateTag >>;
template<typename VariateType, typename VariateTag>
struct feature_of<tag::weighted_covariance< VariateType, VariateTag >>;
namespace extract {
extractor< tag::abstract_covariance > const covariance;
}
namespace impl {
template<typename Sample, typename VariateType, typename VariateTag>
struct covariance_impl;
}
namespace tag {
template<typename VariateType, typename VariateTag> struct covariance;
struct abstract_covariance;
}
}
namespace numeric {
static op::outer_product const & outer_product;
namespace functional {
template<typename Left, typename Right, typename EnableIf = void>
struct outer_product_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct outer_product;
template<typename Left, typename Right>
struct outer_product<Left, Right, std_vector_tag, std_vector_tag>;
}
namespace op {
struct outer_product;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_weighted_feature<tag::density>;
template<> struct feature_of<tag::weighted_density>;
namespace extract {
extractor< tag::density > const density;
}
namespace impl {
template<typename Sample> struct density_impl;
}
namespace tag {
struct density;
}
}
}
namespace boost {
namespace accumulators {
template<typename Feature> struct as_feature<tag::error_of< Feature >>;
template<typename Feature>
struct as_weighted_feature<tag::error_of< Feature >>;
namespace extract {
}
namespace impl {
}
namespace tag {
template<typename Feature> struct error_of;
}
}
}
namespace boost {
namespace accumulators {
namespace impl {
template<typename Sample, typename Variance> struct error_of_mean_impl;
}
namespace tag {
template<> struct error_of<mean>;
template<> struct error_of<immediate_mean>;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_weighted_feature<tag::extended_p_square>;
template<> struct feature_of<tag::weighted_extended_p_square>;
namespace extract {
extractor< tag::extended_p_square > const extended_p_square;
}
namespace impl {
template<typename Sample> struct extended_p_square_impl;
}
namespace tag {
struct extended_p_square;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_feature<tag::extended_p_square_quantile(linear)>;
template<> struct as_feature<tag::extended_p_square_quantile(quadratic)>;
template<>
struct as_feature<tag::weighted_extended_p_square_quantile(linear)>;
template<>
struct as_feature<tag::weighted_extended_p_square_quantile(quadratic)>;
template<> struct feature_of<tag::extended_p_square_quantile>;
template<> struct feature_of<tag::extended_p_square_quantile_quadratic>;
template<> struct as_weighted_feature<tag::extended_p_square_quantile>;
template<> struct feature_of<tag::weighted_extended_p_square_quantile>;
template<>
struct as_weighted_feature<tag::extended_p_square_quantile_quadratic>;
template<>
struct feature_of<tag::weighted_extended_p_square_quantile_quadratic>;
namespace extract {
extractor< tag::extended_p_square_quantile > const extended_p_square_quantile;
extractor< tag::extended_p_square_quantile_quadratic > const extended_p_square_quantile_quadratic;
extractor< tag::weighted_extended_p_square_quantile > const weighted_extended_p_square_quantile;
extractor< tag::weighted_extended_p_square_quantile_quadratic > const weighted_extended_p_square_quantile_quadratic;
}
namespace impl {
template<typename Sample, typename Impl1, typename Impl2>
struct extended_p_square_quantile_impl;
}
namespace tag {
struct extended_p_square_quantile;
struct extended_p_square_quantile_quadratic;
struct weighted_extended_p_square_quantile;
struct weighted_extended_p_square_quantile_quadratic;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_weighted_feature<tag::kurtosis>;
template<> struct feature_of<tag::weighted_kurtosis>;
namespace extract {
extractor< tag::kurtosis > const kurtosis;
}
namespace impl {
template<typename Sample> struct kurtosis_impl;
}
namespace tag {
struct kurtosis;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::max > const max;
}
namespace impl {
template<typename Sample> struct max_impl;
}
namespace tag {
struct max;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_feature<tag::mean(lazy)>;
template<> struct as_feature<tag::mean(immediate)>;
template<> struct as_feature<tag::mean_of_weights(lazy)>;
template<> struct as_feature<tag::mean_of_weights(immediate)>;
template<typename VariateType, typename VariateTag>
struct as_feature<tag::mean_of_variates< VariateType, VariateTag >(lazy)>;
template<typename VariateType, typename VariateTag>
struct as_feature<tag::mean_of_variates< VariateType, VariateTag >(immediate)>;
template<> struct feature_of<tag::immediate_mean>;
template<> struct feature_of<tag::immediate_mean_of_weights>;
template<typename VariateType, typename VariateTag>
struct feature_of<tag::immediate_mean_of_variates< VariateType, VariateTag >>;
template<> struct as_weighted_feature<tag::mean>;
template<> struct feature_of<tag::weighted_mean>;
template<> struct as_weighted_feature<tag::immediate_mean>;
template<> struct feature_of<tag::immediate_weighted_mean>;
template<typename VariateType, typename VariateTag>
struct as_weighted_feature<tag::mean_of_variates< VariateType, VariateTag >>;
template<typename VariateType, typename VariateTag>
struct feature_of<tag::weighted_mean_of_variates< VariateType, VariateTag >>;
template<typename VariateType, typename VariateTag>
struct as_weighted_feature<tag::immediate_mean_of_variates< VariateType, VariateTag >>;
template<typename VariateType, typename VariateTag>
struct feature_of<tag::immediate_weighted_mean_of_variates< VariateType, VariateTag >>;
namespace extract {
extractor< tag::mean > const mean;
extractor< tag::mean_of_weights > const mean_of_weights;
}
namespace impl {
template<typename Sample, typename SumFeature> struct mean_impl;
template<typename Sample, typename Tag> struct immediate_mean_impl;
}
namespace tag {
struct mean;
struct immediate_mean;
struct mean_of_weights;
struct immediate_mean_of_weights;
template<typename VariateType, typename VariateTag> struct mean_of_variates;
template<typename VariateType, typename VariateTag>
struct immediate_mean_of_variates;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_feature<tag::median(with_p_square_quantile)>;
template<> struct as_feature<tag::median(with_density)>;
template<>
struct as_feature<tag::median(with_p_square_cumulative_distribution)>;
template<> struct feature_of<tag::with_density_median>;
template<>
struct feature_of<tag::with_p_square_cumulative_distribution_median>;
template<> struct as_weighted_feature<tag::median>;
template<> struct feature_of<tag::weighted_median>;
template<> struct as_weighted_feature<tag::with_density_median>;
template<> struct feature_of<tag::with_density_weighted_median>;
template<>
struct as_weighted_feature<tag::with_p_square_cumulative_distribution_median>;
template<>
struct feature_of<tag::with_p_square_cumulative_distribution_weighted_median>;
namespace extract {
extractor< tag::median > const median;
extractor< tag::with_density_median > const with_density_median;
extractor< tag::with_p_square_cumulative_distribution_median > const with_p_square_cumulative_distribution_median;
}
namespace impl {
template<typename Sample> struct median_impl;
template<typename Sample> struct with_density_median_impl;
template<typename Sample>
struct with_p_square_cumulative_distribution_median_impl;
}
namespace tag {
struct median;
struct with_density_median;
struct with_p_square_cumulative_distribution_median;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::min > const min;
}
namespace impl {
template<typename Sample> struct min_impl;
}
namespace tag {
struct min;
}
}
}
namespace boost {
namespace accumulators {
template<int N> struct as_weighted_feature<tag::moment< N >>;
template<int N> struct feature_of<tag::weighted_moment< N >>;
namespace extract {
}
namespace impl {
template<typename N, typename Sample> struct moment_impl;
}
namespace tag {
template<int N> struct moment;
}
}
namespace numeric {
}
}
namespace boost {
namespace accumulators {
template<>
struct as_weighted_feature<tag::p_square_cumulative_distribution>;
template<>
struct feature_of<tag::weighted_p_square_cumulative_distribution>;
namespace extract {
extractor< tag::p_square_cumulative_distribution > const p_square_cumulative_distribution;
}
namespace impl {
template<typename Sample> struct p_square_cumulative_distribution_impl;
}
namespace tag {
struct p_square_cumulative_distribution;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_weighted_feature<tag::p_square_quantile>;
template<> struct feature_of<tag::weighted_p_square_quantile>;
namespace extract {
extractor< tag::p_square_quantile > const p_square_quantile;
extractor< tag::p_square_quantile_for_median > const p_square_quantile_for_median;
}
namespace impl {
template<typename Sample, typename Impl> struct p_square_quantile_impl;
}
namespace tag {
struct p_square_quantile;
struct p_square_quantile_for_median;
}
}
}
namespace boost {
namespace accumulators {
template<typename LeftRight>
struct as_feature<tag::peaks_over_threshold< LeftRight >(with_threshold_value)>;
template<typename LeftRight>
struct as_feature<tag::peaks_over_threshold< LeftRight >(with_threshold_probability)>;
template<typename LeftRight>
struct feature_of<tag::peaks_over_threshold< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::peaks_over_threshold_prob< LeftRight >>;
template<typename LeftRight>
struct as_weighted_feature<tag::peaks_over_threshold< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::weighted_peaks_over_threshold< LeftRight >>;
template<typename LeftRight>
struct as_weighted_feature<tag::peaks_over_threshold_prob< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::weighted_peaks_over_threshold_prob< LeftRight >>;
namespace extract {
extractor< tag::abstract_peaks_over_threshold > const peaks_over_threshold;
}
namespace impl {
template<typename Sample, typename LeftRight>
struct peaks_over_threshold_impl;
template<typename Sample, typename LeftRight>
struct peaks_over_threshold_prob_impl;
}
namespace tag {
template<typename LeftRight> struct peaks_over_threshold;
template<typename LeftRight> struct peaks_over_threshold_prob;
struct abstract_peaks_over_threshold;
}
}
}
namespace boost {
namespace accumulators {
template<typename LeftRight>
struct as_feature<tag::pot_quantile< LeftRight >(with_threshold_value)>;
template<typename LeftRight>
struct as_feature<tag::pot_quantile< LeftRight >(with_threshold_probability)>;
template<typename LeftRight>
struct as_feature<tag::weighted_pot_quantile< LeftRight >(with_threshold_value)>;
template<typename LeftRight>
struct as_feature<tag::weighted_pot_quantile< LeftRight >(with_threshold_probability)>;
template<typename LeftRight>
struct feature_of<tag::pot_quantile< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::pot_quantile_prob< LeftRight >>;
template<typename LeftRight>
struct as_weighted_feature<tag::pot_quantile< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::weighted_pot_quantile< LeftRight >>;
template<typename LeftRight>
struct as_weighted_feature<tag::pot_quantile_prob< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::weighted_pot_quantile_prob< LeftRight >>;
namespace impl {
template<typename Sample, typename Impl, typename LeftRight>
struct pot_quantile_impl;
}
namespace tag {
template<typename LeftRight> struct pot_quantile;
template<typename LeftRight> struct pot_quantile_prob;
template<typename LeftRight> struct weighted_pot_quantile;
template<typename LeftRight> struct weighted_pot_quantile_prob;
}
}
}
namespace boost {
namespace accumulators {
template<typename LeftRight>
struct as_feature<tag::pot_tail_mean< LeftRight >(with_threshold_value)>;
template<typename LeftRight>
struct as_feature<tag::pot_tail_mean< LeftRight >(with_threshold_probability)>;
template<typename LeftRight>
struct as_feature<tag::weighted_pot_tail_mean< LeftRight >(with_threshold_value)>;
template<typename LeftRight>
struct as_feature<tag::weighted_pot_tail_mean< LeftRight >(with_threshold_probability)>;
template<typename LeftRight>
struct feature_of<tag::pot_tail_mean< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::pot_tail_mean_prob< LeftRight >>;
template<typename LeftRight>
struct as_weighted_feature<tag::pot_tail_mean< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::weighted_pot_tail_mean< LeftRight >>;
template<typename LeftRight>
struct as_weighted_feature<tag::pot_tail_mean_prob< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::weighted_pot_tail_mean_prob< LeftRight >>;
namespace impl {
template<typename Sample, typename Impl, typename LeftRight>
struct pot_tail_mean_impl;
}
namespace tag {
template<typename LeftRight> struct pot_tail_mean;
template<typename LeftRight> struct pot_tail_mean_prob;
template<typename LeftRight> struct weighted_pot_tail_mean;
template<typename LeftRight> struct weighted_pot_tail_mean_prob;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_weighted_feature<tag::skewness>;
template<> struct feature_of<tag::weighted_skewness>;
namespace extract {
extractor< tag::skewness > const skewness;
}
namespace impl {
template<typename Sample> struct skewness_impl;
}
namespace tag {
struct skewness;
}
}
}
Contains the stats<> template.
namespace boost {
namespace accumulators {
template<typename Stat1, typename Stat2, ... > struct stats;
}
}
namespace boost {
namespace accumulators {
template<> struct as_weighted_feature<tag::sum>;
template<> struct feature_of<tag::weighted_sum>;
template<typename VariateType, typename VariateTag>
struct feature_of<tag::sum_of_variates< VariateType, VariateTag >>;
namespace extract {
extractor< tag::sum > const sum;
extractor< tag::sum_of_weights > const sum_of_weights;
extractor< tag::abstract_sum_of_variates > const sum_of_variates;
}
namespace impl {
template<typename Sample, typename Tag> struct sum_impl;
}
namespace tag {
struct sum;
struct sum_of_weights;
template<typename VariateType, typename VariateTag> struct sum_of_variates;
struct abstract_sum_of_variates;
}
}
}
namespace boost {
namespace accumulators {
template<typename T> struct tail_cache_size_named_arg;
template<> struct tail_cache_size_named_arg<left>;
template<> struct tail_cache_size_named_arg<right>;
template<typename LeftRight> struct feature_of<tag::tail< LeftRight >>;
namespace extract {
extractor< tag::abstract_tail > const tail;
}
namespace impl {
template<typename Sample, typename LeftRight> struct tail_impl;
}
namespace tag {
template<typename LeftRight> struct tail;
struct abstract_tail;
}
}
}
namespace boost {
namespace accumulators {
template<typename LeftRight>
struct feature_of<tag::coherent_tail_mean< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::non_coherent_tail_mean< LeftRight >>;
template<typename LeftRight>
struct as_weighted_feature<tag::non_coherent_tail_mean< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::non_coherent_weighted_tail_mean< LeftRight >>;
namespace extract {
extractor< tag::abstract_non_coherent_tail_mean > const non_coherent_tail_mean;
extractor< tag::tail_mean > const coherent_tail_mean;
}
namespace impl {
template<typename Sample, typename LeftRight>
struct coherent_tail_mean_impl;
template<typename Sample, typename LeftRight>
struct non_coherent_tail_mean_impl;
}
namespace tag {
template<typename LeftRight> struct coherent_tail_mean;
template<typename LeftRight> struct non_coherent_tail_mean;
struct abstract_non_coherent_tail_mean;
}
}
}
namespace boost {
namespace accumulators {
template<typename LeftRight>
struct feature_of<tag::tail_quantile< LeftRight >>;
template<typename LeftRight>
struct as_weighted_feature<tag::tail_quantile< LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::weighted_tail_quantile< LeftRight >>;
namespace extract {
extractor< tag::quantile > const tail_quantile;
}
namespace impl {
template<typename Sample, typename LeftRight> struct tail_quantile_impl;
}
namespace tag {
template<typename LeftRight> struct tail_quantile;
}
}
}
namespace boost {
namespace accumulators {
template<typename VariateType, typename VariateTag, typename LeftRight>
struct feature_of<tag::tail_variate< VariateType, VariateTag, LeftRight >>;
template<typename LeftRight>
struct feature_of<tag::tail_weights< LeftRight >>;
namespace extract {
extractor< tag::abstract_tail_variate > const tail_variate;
extractor< tag::abstract_tail_weights > const tail_weights;
}
namespace impl {
template<typename VariateType, typename VariateTag, typename LeftRight>
struct tail_variate_impl;
}
namespace tag {
template<typename VariateType, typename VariateTag, typename LeftRight>
struct tail_variate;
struct abstract_tail_variate;
template<typename LeftRight> struct tail_weights;
struct abstract_tail_weights;
}
}
}
namespace boost {
namespace accumulators {
template<typename LeftRight, typename VariateType, typename VariateTag>
struct as_feature<tag::tail_variate_means< LeftRight, VariateType, VariateTag >(absolute)>;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct as_feature<tag::tail_variate_means< LeftRight, VariateType, VariateTag >(relative)>;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct feature_of<tag::absolute_tail_variate_means< LeftRight, VariateType, VariateTag >>;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct feature_of<tag::relative_tail_variate_means< LeftRight, VariateType, VariateTag >>;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct as_weighted_feature<tag::absolute_tail_variate_means< LeftRight, VariateType, VariateTag >>;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct feature_of<tag::absolute_weighted_tail_variate_means< LeftRight, VariateType, VariateTag >>;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct as_weighted_feature<tag::relative_tail_variate_means< LeftRight, VariateType, VariateTag >>;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct feature_of<tag::relative_weighted_tail_variate_means< LeftRight, VariateType, VariateTag >>;
namespace extract {
extractor< tag::abstract_absolute_tail_variate_means > const tail_variate_means;
extractor< tag::abstract_relative_tail_variate_means > const relative_tail_variate_means;
}
namespace impl {
template<typename Sample, typename Impl, typename LeftRight,
typename VariateTag>
struct tail_variate_means_impl;
}
namespace tag {
template<typename LeftRight, typename VariateType, typename VariateTag>
struct absolute_tail_variate_means;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct relative_tail_variate_means;
struct abstract_absolute_tail_variate_means;
struct abstract_relative_tail_variate_means;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_feature<tag::variance(lazy)>;
template<> struct as_feature<tag::variance(immediate)>;
template<> struct feature_of<tag::lazy_variance>;
template<> struct as_weighted_feature<tag::variance>;
template<> struct feature_of<tag::weighted_variance>;
template<> struct as_weighted_feature<tag::lazy_variance>;
template<> struct feature_of<tag::lazy_weighted_variance>;
namespace extract {
extractor< tag::lazy_variance > const lazy_variance;
extractor< tag::variance > const variance;
}
namespace impl {
template<typename Sample, typename MeanFeature> struct lazy_variance_impl;
template<typename Sample, typename MeanFeature, typename Tag>
struct variance_impl;
}
namespace tag {
struct lazy_variance;
struct variance;
}
}
}
namespace boost {
namespace accumulators {
boost::parameter::keyword< tag::covariate1 > const covariate1;
boost::parameter::keyword< tag::covariate2 > const covariate2;
namespace tag {
struct covariate1;
struct covariate2;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::abstract_covariance > const weighted_covariance;
}
namespace impl {
template<typename Sample, typename Weight, typename VariateType,
typename VariateTag>
struct weighted_covariance_impl;
}
namespace tag {
template<typename VariateType, typename VariateTag>
struct weighted_covariance;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::density > const weighted_density;
}
namespace impl {
template<typename Sample, typename Weight> struct weighted_density_impl;
}
namespace tag {
struct weighted_density;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::weighted_extended_p_square > const weighted_extended_p_square;
}
namespace impl {
template<typename Sample, typename Weight>
struct weighted_extended_p_square_impl;
}
namespace tag {
struct weighted_extended_p_square;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::weighted_kurtosis > const weighted_kurtosis;
}
namespace impl {
template<typename Sample, typename Weight> struct weighted_kurtosis_impl;
}
namespace tag {
struct weighted_kurtosis;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_feature<tag::weighted_mean(lazy)>;
template<> struct as_feature<tag::weighted_mean(immediate)>;
template<typename VariateType, typename VariateTag>
struct as_feature<tag::weighted_mean_of_variates< VariateType, VariateTag >(lazy)>;
template<typename VariateType, typename VariateTag>
struct as_feature<tag::weighted_mean_of_variates< VariateType, VariateTag >(immediate)>;
namespace extract {
extractor< tag::mean > const weighted_mean;
}
namespace impl {
template<typename Sample, typename Weight, typename Tag>
struct weighted_mean_impl;
template<typename Sample, typename Weight, typename Tag>
struct immediate_weighted_mean_impl;
}
namespace tag {
struct weighted_mean;
struct immediate_weighted_mean;
template<typename VariateType, typename VariateTag>
struct weighted_mean_of_variates;
template<typename VariateType, typename VariateTag>
struct immediate_weighted_mean_of_variates;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_feature<tag::weighted_median(with_p_square_quantile)>;
template<> struct as_feature<tag::weighted_median(with_density)>;
template<>
struct as_feature<tag::weighted_median(with_p_square_cumulative_distribution)>;
namespace extract {
extractor< tag::median > const weighted_median;
}
namespace impl {
template<typename Sample> struct weighted_median_impl;
template<typename Sample> struct with_density_weighted_median_impl;
template<typename Sample, typename Weight>
struct with_p_square_cumulative_distribution_weighted_median_impl;
}
namespace tag {
struct weighted_median;
struct with_density_weighted_median;
struct with_p_square_cumulative_distribution_weighted_median;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
}
namespace impl {
template<typename N, typename Sample, typename Weight>
struct weighted_moment_impl;
}
namespace tag {
template<int N> struct weighted_moment;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::weighted_p_square_cumulative_distribution > const weighted_p_square_cumulative_distribution;
}
namespace impl {
template<typename Sample, typename Weight>
struct weighted_p_square_cumulative_distribution_impl;
}
namespace tag {
struct weighted_p_square_cumulative_distribution;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::weighted_p_square_quantile > const weighted_p_square_quantile;
extractor< tag::weighted_p_square_quantile_for_median > const weighted_p_square_quantile_for_median;
}
namespace impl {
template<typename Sample, typename Weight, typename Impl>
struct weighted_p_square_quantile_impl;
}
namespace tag {
struct weighted_p_square_quantile;
struct weighted_p_square_quantile_for_median;
}
}
}
namespace boost {
namespace accumulators {
template<typename LeftRight>
struct as_feature<tag::weighted_peaks_over_threshold< LeftRight >(with_threshold_value)>;
template<typename LeftRight>
struct as_feature<tag::weighted_peaks_over_threshold< LeftRight >(with_threshold_probability)>;
namespace extract {
extractor< tag::abstract_peaks_over_threshold > const weighted_peaks_over_threshold;
}
namespace impl {
template<typename Sample, typename Weight, typename LeftRight>
struct weighted_peaks_over_threshold_impl;
template<typename Sample, typename Weight, typename LeftRight>
struct weighted_peaks_over_threshold_prob_impl;
}
namespace tag {
template<typename LeftRight> struct weighted_peaks_over_threshold;
template<typename LeftRight> struct weighted_peaks_over_threshold_prob;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::weighted_skewness > const weighted_skewness;
}
namespace impl {
template<typename Sample, typename Weight> struct weighted_skewness_impl;
}
namespace tag {
struct weighted_skewness;
}
}
}
namespace boost {
namespace accumulators {
template<typename VariateType, typename VariateTag>
struct feature_of<tag::weighted_sum_of_variates< VariateType, VariateTag >>;
namespace extract {
extractor< tag::weighted_sum > const weighted_sum;
extractor< tag::abstract_weighted_sum_of_variates > const weighted_sum_of_variates;
}
namespace impl {
template<typename Sample, typename Weight, typename Tag>
struct weighted_sum_impl;
}
namespace tag {
struct weighted_sum;
template<typename VariateType, typename VariateTag>
struct weighted_sum_of_variates;
struct abstract_weighted_sum_of_variates;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::abstract_non_coherent_tail_mean > const non_coherent_weighted_tail_mean;
}
namespace impl {
template<typename Sample, typename Weight, typename LeftRight>
struct non_coherent_weighted_tail_mean_impl;
}
namespace tag {
template<typename LeftRight> struct non_coherent_weighted_tail_mean;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor< tag::quantile > const weighted_tail_quantile;
}
namespace impl {
template<typename Sample, typename Weight, typename LeftRight>
struct weighted_tail_quantile_impl;
}
namespace tag {
template<typename LeftRight> struct weighted_tail_quantile;
}
}
}
namespace boost {
namespace accumulators {
template<typename LeftRight, typename VariateType, typename VariateTag>
struct as_feature<tag::weighted_tail_variate_means< LeftRight, VariateType, VariateTag >(absolute)>;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct as_feature<tag::weighted_tail_variate_means< LeftRight, VariateType, VariateTag >(relative)>;
namespace extract {
extractor< tag::abstract_absolute_tail_variate_means > const weighted_tail_variate_means;
extractor< tag::abstract_relative_tail_variate_means > const relative_weighted_tail_variate_means;
}
namespace impl {
template<typename Sample, typename Weight, typename Impl,
typename LeftRight, typename VariateType>
struct weighted_tail_variate_means_impl;
}
namespace tag {
template<typename LeftRight, typename VariateType, typename VariateTag>
struct absolute_weighted_tail_variate_means;
template<typename LeftRight, typename VariateType, typename VariateTag>
struct relative_weighted_tail_variate_means;
}
}
namespace numeric {
namespace functional {
template<typename T, typename U> struct multiply_and_promote_to_double;
}
}
}
namespace boost {
namespace accumulators {
template<> struct as_feature<tag::weighted_variance(lazy)>;
template<> struct as_feature<tag::weighted_variance(immediate)>;
namespace extract {
extractor< tag::lazy_weighted_variance > const lazy_weighted_variance;
extractor< tag::weighted_variance > const weighted_variance;
}
namespace impl {
template<typename Sample, typename Weight, typename MeanFeature>
struct lazy_weighted_variance_impl;
template<typename Sample, typename Weight, typename MeanFeature,
typename Tag>
struct weighted_variance_impl;
}
namespace tag {
struct lazy_weighted_variance;
struct weighted_variance;
}
}
}
namespace boost {
namespace accumulators {
template<typename Feature1, typename Feature2, ... > struct with_error;
}
}
namespace boost {
namespace accumulators {
struct lazy;
struct immediate;
struct right;
struct left;
struct absolute;
struct relative;
struct with_density;
struct with_p_square_cumulative_distribution;
struct with_p_square_quantile;
struct with_threshold_value;
struct with_threshold_probability;
struct weighted;
struct unweighted;
struct linear;
struct quadratic;
struct regular;
struct for_median;
namespace extract {
extractor< tag::quantile > const quantile;
extractor< tag::tail_mean > const tail_mean;
}
namespace impl {
}
namespace tag {
struct quantile;
struct tail_mean;
}
}
}
namespace boost {
namespace numeric {
template<typename T> struct default_;
template<typename T> struct one;
template<typename T> struct zero;
template<typename T> struct one_or_default;
template<typename T> struct zero_or_default;
static op::plus const & plus;
static op::minus const & minus;
static op::multiplies const & multiplies;
static op::divides const & divides;
static op::modulus const & modulus;
static op::greater const & greater;
static op::greater_equal const & greater_equal;
static op::less const & less;
static op::less_equal const & less_equal;
static op::equal_to const & equal_to;
static op::not_equal_to const & not_equal_to;
static op::assign const & assign;
static op::plus_assign const & plus_assign;
static op::minus_assign const & minus_assign;
static op::multiplies_assign const & multiplies_assign;
static op::divides_assign const & divides_assign;
static op::modulus_assign const & modulus_assign;
static op::unary_plus const & unary_plus;
static op::unary_minus const & unary_minus;
static op::complement const & complement;
static op::logical_not const & logical_not;
static op::min_assign const & min_assign;
static op::max_assign const & max_assign;
static op::average const & average;
static op::as_min const & as_min;
static op::as_max const & as_max;
static op::as_zero const & as_zero;
static op::as_one const & as_one;
template<typename To, typename From>
lazy_disable_if< is_const< From >, mpl::if_< is_same< To, From >, To &, To > >::type
promote(From & from);
template<typename To, typename From>
mpl::if_< is_same< To const, From const >, To const &, To const >::type
promote(From const & from);
namespace functional {
template<typename Left, typename Right> struct left_ref;
template<typename Left, typename Right, typename EnableIf = void>
struct plus_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct plus;
template<typename Left, typename Right, typename EnableIf = void>
struct minus_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct minus;
template<typename Left, typename Right, typename EnableIf = void>
struct multiplies_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct multiplies;
template<typename Left, typename Right, typename EnableIf = void>
struct divides_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct divides;
template<typename Left, typename Right, typename EnableIf = void>
struct modulus_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct modulus;
template<typename Left, typename Right, typename EnableIf = void>
struct greater_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct greater;
template<typename Left, typename Right, typename EnableIf = void>
struct greater_equal_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct greater_equal;
template<typename Left, typename Right, typename EnableIf = void>
struct less_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct less;
template<typename Left, typename Right, typename EnableIf = void>
struct less_equal_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct less_equal;
template<typename Left, typename Right, typename EnableIf = void>
struct equal_to_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct equal_to;
template<typename Left, typename Right, typename EnableIf = void>
struct not_equal_to_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct not_equal_to;
template<typename Left, typename Right, typename EnableIf = void>
struct assign_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct assign;
template<typename Left, typename Right, typename EnableIf = void>
struct plus_assign_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct plus_assign;
template<typename Left, typename Right, typename EnableIf = void>
struct minus_assign_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct minus_assign;
template<typename Left, typename Right, typename EnableIf = void>
struct multiplies_assign_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct multiplies_assign;
template<typename Left, typename Right, typename EnableIf = void>
struct divides_assign_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct divides_assign;
template<typename Left, typename Right, typename EnableIf = void>
struct modulus_assign_base;
template<typename Left, typename Right,
typename LeftTag = typename tag<Left>::type,
typename RightTag = typename tag<Right>::type>
struct modulus_assign;
template<typename Arg, typename EnableIf = void> struct unary_plus_base;
template<typename Arg, typename Tag = typename tag<Arg>::type>
struct unary_plus;
template<typename Arg, typename EnableIf = void> struct unary_minus_base;
template<typename Arg, typename Tag = typename tag<Arg>::type>
struct unary_minus;
template<typename Arg, typename EnableIf = void> struct complement_base;
template<typename Arg, typename Tag = typename tag<Arg>::type>
struct complement;
template<typename Arg, typename EnableIf = void> struct logical_not_base;
template<typename Arg, typename Tag = typename tag<Arg>::type>
struct logical_not;
template<typename Left, typename Right, typename EnableIf>
struct min_assign_base;
template<typename Left, typename Right, typename EnableIf>
struct max_assign_base;
template<typename Left, typename Right, typename EnableIf>
struct average_base;
template<typename Left, typename Right>
struct average_base<Left, Right, typename enable_if< are_integral< Left, Right > >::type>;
template<typename To, typename From, typename EnableIf> struct promote_base;
template<typename ToFrom> struct promote_base<ToFrom, ToFrom, void>;
template<typename Arg, typename EnableIf> struct as_min_base;
template<typename Arg>
struct as_min_base<Arg, typename enable_if< is_floating_point< Arg > >::type>;
template<typename Arg, typename EnableIf> struct as_max_base;
template<typename Arg, typename EnableIf> struct as_zero_base;
template<typename Arg, typename EnableIf> struct as_one_base;
template<typename To, typename From, typename ToTag, typename FromTag>
struct promote;
template<typename Left, typename Right, typename LeftTag,
typename RightTag>
struct min_assign;
template<typename Left, typename Right, typename LeftTag,
typename RightTag>
struct max_assign;
template<typename Left, typename Right, typename LeftTag,
typename RightTag>
struct average;
template<typename Arg, typename Tag> struct as_min;
template<typename Arg, typename Tag> struct as_max;
template<typename Arg, typename Tag> struct as_zero;
template<typename Arg, typename Tag> struct as_one;
}
namespace op {
struct plus;
struct minus;
struct multiplies;
struct divides;
struct modulus;
struct greater;
struct greater_equal;
struct less;
struct less_equal;
struct equal_to;
struct not_equal_to;
struct assign;
struct plus_assign;
struct minus_assign;
struct multiplies_assign;
struct divides_assign;
struct modulus_assign;
struct unary_plus;
struct unary_minus;
struct complement;
struct logical_not;
template<typename To> struct promote;
struct min_assign;
struct max_assign;
struct average;
struct as_min;
struct as_max;
struct as_zero;
struct as_one;
}
}
}
namespace boost {
namespace numeric {
namespace operators {
template<typename T, typename U>
disable_if< mpl::or_< is_same< T, U >, is_same< std::complex< T >, U > >, std::complex< T > >::type
operator*(std::complex< T > ri, U const & u);
template<typename T, typename U>
disable_if< mpl::or_< is_same< T, U >, is_same< std::complex< T >, U > >, std::complex< T > >::type
operator/(std::complex< T > ri, U const & u);
}
}
}
namespace boost {
namespace numeric {
namespace functional {
template<typename T> struct tag<std::valarray< T >>;
template<typename Left, typename Right>
struct min_assign<Left, Right, std_valarray_tag, std_valarray_tag>;
template<typename Left, typename Right>
struct max_assign<Left, Right, std_valarray_tag, std_valarray_tag>;
template<typename Left, typename Right, typename RightTag>
struct average<Left, Right, std_valarray_tag, RightTag>;
template<typename To, typename From>
struct promote<To, From, std_valarray_tag, std_valarray_tag>;
template<typename ToFrom>
struct promote<ToFrom, ToFrom, std_valarray_tag, std_valarray_tag>;
template<typename From> struct promote<bool, From, void, std_valarray_tag>;
template<typename From>
struct promote<bool const, From, void, std_valarray_tag>;
template<typename T> struct as_min<T, std_valarray_tag>;
template<typename T> struct as_max<T, std_valarray_tag>;
template<typename T> struct as_zero<T, std_valarray_tag>;
template<typename T> struct as_one<T, std_valarray_tag>;
}
namespace operators {
template<typename Left, typename Right>
enable_if< mpl::and_< is_scalar< Right >, mpl::not_< is_same< Left, Right > > >, std::valarray< typename functional::divides< Left, Right >::result_type > >::type
operator/(std::valarray< Left > const & left, Right const & right);
template<typename Left, typename Right>
enable_if< mpl::and_< is_scalar< Right >, mpl::not_< is_same< Left, Right > > >, std::valarray< typename functional::multiplies< Left, Right >::result_type > >::type
operator*(std::valarray< Left > const & left, Right const & right);
template<typename Left, typename Right>
disable_if< is_same< Left, Right >, std::valarray< typename functional::plus< Left, Right >::result_type > >::type
operator+(std::valarray< Left > const & left,
std::valarray< Right > const & right);
}
}
}
namespace boost {
namespace numeric {
namespace functional {
template<typename T, typename Al> struct tag<std::vector< T, Al >>;
template<typename Left, typename Right>
struct min_assign<Left, Right, std_vector_tag, std_vector_tag>;
template<typename Left, typename Right>
struct max_assign<Left, Right, std_vector_tag, std_vector_tag>;
template<typename Left, typename Right>
struct average<Left, Right, std_vector_tag, void>;
template<typename To, typename From>
struct promote<To, From, std_vector_tag, std_vector_tag>;
template<typename ToFrom>
struct promote<ToFrom, ToFrom, std_vector_tag, std_vector_tag>;
template<typename T> struct as_min<T, std_vector_tag>;
template<typename T> struct as_max<T, std_vector_tag>;
template<typename T> struct as_zero<T, std_vector_tag>;
template<typename T> struct as_one<T, std_vector_tag>;
}
namespace operators {
template<typename Left, typename Right>
enable_if< is_scalar< Right >, std::vector< typename functional::divides< Left, Right >::result_type > >::type
operator/(std::vector< Left > const & left, Right const & right);
template<typename Left, typename Right>
std::vector< typename functional::divides< Left, Right >::result_type >
operator/(std::vector< Left > const & left,
std::vector< Right > const & right);
template<typename Left, typename Right>
enable_if< is_scalar< Right >, std::vector< typename functional::multiplies< Left, Right >::result_type > >::type
operator*(std::vector< Left > const & left, Right const & right);
template<typename Left, typename Right>
enable_if< is_scalar< Left >, std::vector< typename functional::multiplies< Left, Right >::result_type > >::type
operator*(Left const & left, std::vector< Right > const & right);
template<typename Left, typename Right>
std::vector< typename functional::multiplies< Left, Right >::result_type >
operator*(std::vector< Left > const & left,
std::vector< Right > const & right);
template<typename Left, typename Right>
std::vector< typename functional::plus< Left, Right >::result_type >
operator+(std::vector< Left > const & left,
std::vector< Right > const & right);
template<typename Left, typename Right>
std::vector< typename functional::minus< Left, Right >::result_type >
operator-(std::vector< Left > const & left,
std::vector< Right > const & right);
template<typename Left>
std::vector< Left > &
operator+=(std::vector< Left > & left,
std::vector< Left > const & right);
template<typename Arg>
std::vector< typename functional::unary_minus< Arg >::result_type >
operator-(std::vector< Arg > const & arg);
}
}
}