Reference Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 1. Boost.Accumulators
Accumulators Framework Reference
Включает в себя все аккумуляторы
BOOST_ACCUMULATORS_MAX_FEATURES
BOOST_ACCUMULATORS_MAX_ARGS
BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST (T)
BOOST_ACCUMULATORS_GCC_VERSION
BOOST_ACCUMULATORS_IGNORE_GLOBAL (X)
BOOST_PARAMETER_NESTED_KEYWORD (tag_namespace, name, alias)
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 Sample, typename Features, typename Weight = void >
struct accumulator_set ;
template < typename Feature> struct extractor ;
template < typename Feature> struct feature_of ;
template < typename Feature> struct as_feature ;
template < typename Feature> struct as_weighted_feature ;
template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT ( BOOST_ACCUMULATORS_MAX_FEATURES , typename Feature , mpl :: na ) >
struct depends_on ;
template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT ( BOOST_ACCUMULATORS_MAX_FEATURES , typename Feature , mpl :: na ) >
struct features ;
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 {
template < typename ValueType, typename Tag> struct value ;
template < typename Tag> struct value_tag ;
template < typename Referent, typename Tag> struct reference ;
template < typename Tag> struct reference_tag ;
template < typename Type, typename Tag = void ,
typename AccumulatorSet = void >
struct external ;
template < typename Feature> struct droppable ;
}
}
}
namespace boost {
namespace accumulators {
template < typename Stat> struct accumulator_concept ;
}
}
namespace boost {
namespace accumulators {
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 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 > > ;
}
}
}
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>
struct external < Feature , Tag , void > ;
}
}
}
namespace boost {
namespace accumulators {
template < typename ValueType, typename Tag>
struct feature_of < tag :: reference < ValueType , Tag > > ;
namespace extract {
}
namespace impl {
template < typename Referent, typename Tag> struct reference_accumulator_impl ;
}
namespace tag {
}
}
}
namespace boost {
namespace accumulators {
template < typename ValueType, typename Tag>
struct feature_of < tag :: value < ValueType , Tag > > ;
namespace extract {
}
namespace impl {
template < typename ValueType, typename Tag> struct value_accumulator_impl ;
}
namespace tag {
}
}
}
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 ;
}
}
}
Statistics Library Reference
Включает в себя всю библиотеку статистических накопителей
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 {
}
namespace tag {
struct abstract_covariance ;
}
}
namespace numeric {
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 < 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 {
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor < tag::max > const max ;
}
namespace 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 {
}
namespace tag {
struct mean ;
struct immediate_mean ;
struct mean_of_weights ;
struct immediate_mean_of_weights ;
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
extractor < tag::min > const min ;
}
namespace 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 {
}
namespace tag {
}
}
namespace numeric {
}
}
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 ;
}
namespace tag {
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 {
}
namespace tag {
}
}
}
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 {
}
namespace tag {
}
}
}
namespace boost {
namespace accumulators {
namespace extract {
}
namespace impl {
template < typename N, typename Sample> struct rolling_moment_impl ;
}
namespace tag {
template < int N> struct rolling_moment ;
}
}
}
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 {
}
namespace tag {
}
}
}
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 {
}
namespace tag {
struct abstract_absolute_tail_variate_means ;
struct abstract_relative_tail_variate_means ;
}
}
}
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 {
}
namespace tag {
struct weighted_mean ;
struct immediate_weighted_mean ;
}
}
}
namespace boost {
namespace accumulators {
template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT ( BOOST_ACCUMULATORS_MAX_FEATURES , typename Feature , mpl :: na ) >
struct stats ;
template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT ( BOOST_ACCUMULATORS_MAX_FEATURES , typename Feature , mpl :: na ) >
struct with_error ;
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 ;
struct kahan ;
namespace extract {
extractor < tag::quantile > const quantile ;
extractor < tag::tail_mean > const tail_mean ;
}
namespace impl {
template < typename Sample, typename VariateType, typename VariateTag>
struct covariance_impl ;
template < typename Sample> struct density_impl ;
template < typename Sample, typename Variance> struct error_of_mean_impl ;
template < typename Sample> struct extended_p_square_impl ;
template < typename Sample, typename Impl1, typename Impl2>
struct extended_p_square_quantile_impl ;
template < typename Sample> struct kurtosis_impl ;
template < typename Sample> struct max_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 ;
template < typename Sample> struct min_impl ;
template < typename Sample, typename SumFeature = tag::sum > struct mean_impl ;
template < typename Sample, typename Tag = tag :: sample >
struct immediate_mean_impl ;
template < typename N, typename Sample> struct moment_impl ;
template < typename Sample, typename LeftRight>
struct peaks_over_threshold_prob_impl ;
template < typename Sample, typename Impl, typename LeftRight>
struct pot_quantile_impl ;
template < typename Sample, typename Impl, typename LeftRight>
struct pot_tail_mean_impl ;
template < typename Sample> struct p_square_cumulative_distribution_impl ;
template < typename Sample, typename Impl> struct p_square_quantile_impl ;
template < typename Sample> struct skewness_impl ;
template < typename Sample, typename Tag = tag :: sample > struct sum_impl ;
template < typename Sample, typename Tag> struct sum_kahan_impl ;
template < typename Sample, typename LeftRight> struct tail_impl ;
template < typename Sample, typename LeftRight>
struct coherent_tail_mean_impl ;
template < typename Sample, typename LeftRight>
struct non_coherent_tail_mean_impl ;
template < typename Sample, typename LeftRight> struct tail_quantile_impl ;
template < typename VariateType, typename VariateTag, typename LeftRight>
struct tail_variate_impl ;
template < typename Sample, typename Impl, typename LeftRight,
typename VariateTag>
struct tail_variate_means_impl ;
template < typename Sample, typename MeanFeature> struct lazy_variance_impl ;
template < typename Sample, typename MeanFeature, typename Tag>
struct variance_impl ;
template < typename Sample, typename Weight, typename VariateType,
typename VariateTag>
struct weighted_covariance_impl ;
template < typename Sample, typename Weight> struct weighted_density_impl ;
template < typename Sample, typename Weight> struct weighted_kurtosis_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 ;
template < typename Sample, typename Weight, typename Tag>
struct weighted_mean_impl ;
template < typename Sample, typename Weight, typename Tag>
struct immediate_weighted_mean_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 ;
template < typename Sample, typename Weight>
struct weighted_extended_p_square_impl ;
template < typename N, typename Sample, typename Weight>
struct weighted_moment_impl ;
template < typename Sample, typename Weight>
struct weighted_p_square_cumulative_distribution_impl ;
template < typename Sample, typename Weight, typename Impl>
struct weighted_p_square_quantile_impl ;
template < typename Sample, typename Weight> struct weighted_skewness_impl ;
template < typename Sample, typename Weight, typename Tag>
struct weighted_sum_impl ;
template < typename Sample, typename Weight, typename Tag>
struct weighted_sum_kahan_impl ;
template < typename Sample, typename Weight, typename LeftRight>
struct non_coherent_weighted_tail_mean_impl ;
template < typename Sample, typename Weight, typename LeftRight>
struct weighted_tail_quantile_impl ;
template < typename Sample, typename Weight, typename Impl,
typename LeftRight, typename VariateType>
struct weighted_tail_variate_means_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 ;
template < typename Sample> struct rolling_window_plus1_impl ;
template < typename Sample> struct rolling_window_impl ;
template < typename Sample> struct rolling_sum_impl ;
template < typename Sample> struct rolling_count_impl ;
template < typename Sample> struct rolling_mean_impl ;
}
namespace tag {
struct quantile ;
struct tail_mean ;
template < typename VariateType, typename VariateTag> struct covariance ;
template < typename Feature> struct error_of ;
template < typename VariateType, typename VariateTag> struct mean_of_variates ;
template < typename VariateType, typename VariateTag>
struct immediate_mean_of_variates ;
template < int N> struct moment ;
template < typename LeftRight> struct peaks_over_threshold ;
template < typename LeftRight> struct peaks_over_threshold_prob ;
template < typename LeftRight> struct pot_tail_mean ;
template < typename LeftRight> struct pot_tail_mean_prob ;
template < typename LeftRight> struct pot_quantile ;
template < typename LeftRight> struct pot_quantile_prob ;
template < typename VariateType, typename VariateTag> struct sum_of_variates ;
template < typename VariateType, typename VariateTag>
struct sum_of_variates_kahan ;
template < typename LeftRight> struct tail ;
template < typename LeftRight> struct coherent_tail_mean ;
template < typename LeftRight> struct non_coherent_tail_mean ;
template < typename LeftRight> struct tail_quantile ;
template < typename VariateType, typename VariateTag, typename LeftRight>
struct tail_variate ;
template < typename LeftRight> struct tail_weights ;
template < typename VariateType, typename VariateTag, typename LeftRight>
struct right_tail_variate ;
template < typename VariateType, typename VariateTag, typename LeftRight>
struct left_tail_variate ;
template < typename LeftRight, typename VariateType, typename VariateTag>
struct tail_variate_means ;
template < typename LeftRight, typename VariateType, typename VariateTag>
struct absolute_tail_variate_means ;
template < typename LeftRight, typename VariateType, typename VariateTag>
struct relative_tail_variate_means ;
template < typename VariateType, typename VariateTag>
struct weighted_covariance ;
template < typename VariateType, typename VariateTag>
struct weighted_mean_of_variates ;
template < typename VariateType, typename VariateTag>
struct immediate_weighted_mean_of_variates ;
template < int N> struct weighted_moment ;
template < typename LeftRight> struct weighted_peaks_over_threshold ;
template < typename LeftRight> struct weighted_peaks_over_threshold_prob ;
template < typename LeftRight> struct weighted_pot_quantile ;
template < typename LeftRight> struct weighted_pot_quantile_prob ;
template < typename LeftRight> struct weighted_pot_tail_mean ;
template < typename LeftRight> struct weighted_pot_tail_mean_prob ;
template < typename LeftRight> struct weighted_tail_quantile ;
template < typename LeftRight> struct non_coherent_weighted_tail_mean ;
template < typename LeftRight, typename VariateType, typename VariateTag>
struct weighted_tail_variate_means ;
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 ;
template < typename VariateType, typename VariateTag>
struct weighted_sum_of_variates ;
}
}
}
Numeric Operators Library Reference
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 ;
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 fdiv_base ;
template < typename Left, typename Right>
struct fdiv_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 fdiv ;
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 fdiv ;
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 fdiv < 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>
unspecified operator / ( std :: valarray < Left > const & left,
Right const & right) ;
template < typename Left, typename Right>
unspecified operator * ( std :: valarray < Left > const & left,
Right const & right) ;
template < typename Left, typename Right>
unspecified 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 fdiv < 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>
unspecified 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>
unspecified operator * ( std :: vector < Left > const & left,
Right const & right) ;
template < typename Left, typename Right>
unspecified 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) ;
}
}
}
Статья Reference раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 1. Boost.Accumulators может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Chapter 1. Boost.Accumulators ::