Implementation details for the metafunctions in ViennaMath. Not intended for direct use.  
More...
Data Structures | 
| struct   | has_factor | 
| struct   | has_factor< FactorType, FactorType > | 
| struct   | has_factor< FactorType, ct_binary_expr< LHS, op_plus< NumericT >, RHS > > | 
| struct   | has_factor< FactorType, ct_binary_expr< LHS, op_minus< NumericT >, RHS > > | 
| struct   | has_factor< FactorType, ct_binary_expr< LHS, op_mult< NumericT >, RHS > > | 
| struct   | has_factor< FactorType, ct_binary_expr< LHS, op_div< NumericT >, RHS > > | 
| struct   | extract_factor_from_product | 
| struct   | extract_factor_from_product< FactorType, LHS, NumericT, RHS, true, false > | 
| struct   | extract_factor_from_product< FactorType, LHS, NumericT, RHS, false, true > | 
| struct   | extract_factor_from_product< FactorType, LHS, NumericT, RHS, true, true > | 
| struct   | coefficient_impl | 
| struct   | coefficient_impl< FactorType, FactorType > | 
| struct   | coefficient_impl< FactorType, ct_binary_expr< LHS, op_plus< NumericT >, RHS > > | 
| struct   | coefficient_impl< FactorType, ct_binary_expr< LHS, op_minus< NumericT >, RHS > > | 
| struct   | coefficient_impl< FactorType, ct_binary_expr< LHS, op_mult< NumericT >, RHS > > | 
| struct   | coefficient_impl< FactorType, ct_binary_expr< FactorType, op_mult< NumericT >, RHS > > | 
| struct   | coefficient_impl< FactorType, ct_binary_expr< LHS, op_mult< NumericT >, FactorType > > | 
| struct   | coefficient_impl< FactorType, ct_binary_expr< FactorType, op_mult< NumericT >, FactorType > > | 
| struct   | coefficient_impl< FactorType, ct_binary_expr< LHS, op_div< NumericT >, RHS > > | 
| struct   | has_plus_or_minus | 
| struct   | has_plus_or_minus< ct_binary_expr< LHS, op_plus< NumericT >, RHS > > | 
| struct   | has_plus_or_minus< ct_binary_expr< LHS, op_minus< NumericT >, RHS > > | 
| struct   | has_plus_or_minus< ct_binary_expr< LHS, op_mult< NumericT >, RHS > > | 
| struct   | has_plus_or_minus< ct_binary_expr< LHS, op_div< NumericT >, RHS > > | 
| struct   | expand_with_factor | 
| struct   | expand_with_factor< ct_binary_expr< LHS, op_plus< NumericT >, RHS >, FactorType, true > | 
| struct   | expand_with_factor< ct_binary_expr< LHS, op_minus< NumericT >, RHS >, FactorType, true > | 
| struct   | expand_with_factor< ct_binary_expr< LHS, op_mult< NumericT >, RHS >, FactorType, true > | 
| struct   | expand_with_factor< ct_binary_expr< LHS, op_div< NumericT >, RHS >, FactorType, true > | 
| struct   | expand_product | 
| struct   | expand_product< LHS, RHS, true, false > | 
| struct   | expand_product< LHS, RHS, false, true > | 
| struct   | expand_product< LHS, RHS, true, true > | 
| struct   | integrate_impl | 
|   | The worker metafunction for compile time integration. Each specialization represents an integration rule.  More...
  | 
| struct   | integrate_impl< LowerBound, UpperBound, ct_binary_expr< LHS, op_plus< NumericT >, RHS >, VariableType > | 
| struct   | integrate_impl< LowerBound, UpperBound, ct_binary_expr< LHS, op_minus< NumericT >, RHS >, VariableType > | 
| struct   | integrate_impl< LowerBound, UpperBound, ct_binary_expr< LHS, op_mult< NumericT >, RHS >, VariableType > | 
| struct   | integrate_impl< LowerBound, UpperBound, ct_binary_expr< LHS, op_div< NumericT >, RHS >, VariableType > | 
| struct   | integrate_impl< LowerBound, UpperBound, ct_unary_expr< LHS, OP >, VariableType > | 
| struct   | integrate_impl< LowerBound, UpperBound, ct_constant< value >, VariableType > | 
| struct   | integrate_impl< LowerBound, UpperBound, ct_function_symbol< TAG >, VariableType > | 
| struct   | integrate_impl< LowerBound, UpperBound, ct_variable< id >, VariableType > | 
| struct   | simplify_impl | 
| struct   | simplify_impl< ct_binary_expr< LHS, OP, RHS > > | 
| struct   | simplify_impl< ct_binary_expr< LHS, op_plus< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_plus< NumericT >, RHS > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_plus< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< LHS, op_minus< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< LHS1, op_plus< NumericT >, ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS2 > > > | 
| struct   | simplify_impl< ct_binary_expr< LHS1, op_minus< NumericT >, ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS1 >, op_plus< NumericT >, RHS2 > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS1 >, op_minus< NumericT >, RHS2 > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS1 >, op_plus< NumericT >, ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS1 >, op_minus< NumericT >, ct_binary_expr< ct_constant< 0 >, op_minus< NumericT >, RHS2 > > > | 
| struct   | simplify_impl< ct_binary_expr< LHS, op_mult< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_mult< NumericT >, RHS > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_mult< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< LHS, op_mult< NumericT >, ct_constant< 1 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 1 >, op_mult< NumericT >, RHS > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 1 >, op_mult< NumericT >, ct_constant< 1 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 1 >, op_mult< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_mult< NumericT >, ct_constant< 1 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_div< NumericT >, RHS > > | 
| struct   | simplify_impl< ct_binary_expr< LHS, op_div< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_div< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< LHS, op_div< NumericT >, ct_constant< 1 > > > | 
| struct   | simplify_impl< ct_binary_expr< LHS, op_mult< NumericT >, ct_binary_expr< ct_constant< 1 >, op_div< NumericT >, RHS > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 1 >, op_div< NumericT >, RHS1 >, op_mult< NumericT >, RHS2 > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< 1 >, op_div< NumericT >, RHS1 >, op_mult< NumericT >, ct_binary_expr< ct_constant< 1 >, op_div< NumericT >, RHS2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_plus< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_plus< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_plus< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_minus< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_minus< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_minus< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_minus< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_mult< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_mult< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_mult< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_div< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_div< NumericT >, ct_binary_expr< ct_constant< numerator_2 >, op_div< NumericT >, ct_constant< denominator_2 > > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_binary_expr< ct_constant< numerator_1 >, op_div< NumericT >, ct_constant< denominator_1 > >, op_div< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_plus< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_plus< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_plus< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_minus< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 1 >, op_minus< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant<-1 >, op_minus< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_mult< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 1 >, op_mult< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_mult< NumericT >, ct_constant< 1 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_mult< NumericT >, ct_constant< 0 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_mult< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_div< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_div< NumericT >, ct_constant< value_2 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< 0 >, op_div< NumericT >, ct_constant< 1 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_div< NumericT >, ct_constant< 1 > > > | 
| struct   | simplify_impl< ct_binary_expr< ct_constant< value_1 >, op_div< NumericT >, ct_constant<-1 > > > | 
Implementation details for the metafunctions in ViennaMath. Not intended for direct use.