| 
| template<class R , class S , void(*)(R &, float, S) T, bool audit, void(*)(R &, const audit_strings *) audit_func>  | 
| void  | generate_interactions (VW::workspace &all, example_predict &ec, R &dat, size_t &num_interacted_features) | 
|   | 
| template<class R , class S , void(*)(R &, float, S) T>  | 
| void  | generate_interactions (VW::workspace &all, example_predict &ec, R &dat, size_t &num_interacted_features) | 
|   | 
| VW::LEARNER::base_learner *  | generate_interactions_setup (VW::config::options_i &options, VW::workspace &all) | 
|   | 
| constexpr bool  | is_interaction_ns (const unsigned char ns) | 
|   | 
| bool  | contains_wildcard (const std::vector< namespace_index > &interaction) | 
|   | 
| bool  | contains_wildcard (const std::vector< extent_term > &interaction) | 
|   | 
| float  | eval_sum_ft_squared_of_generated_ft (bool permutations, const std::vector< std::vector< namespace_index >> &interactions, const std::vector< std::vector< extent_term >> &extent_interactions, const std::array< features, NUM_NAMESPACES > &feature_spaces) | 
|   | 
| template<typename T >  | 
| std::vector< T >  | indices_to_values_one_based (const std::vector< size_t > &indices, const std::set< T > &values) | 
|   | 
| template<typename T >  | 
| std::vector< T >  | indices_to_values_ignore_last_index (const std::vector< size_t > &indices, const std::set< T > &values) | 
|   | 
| template<typename T >  | 
| bool  | must_be_left_sorted (const std::vector< T > &oi) | 
|   | 
| template<typename T >  | 
| void  | sort_and_filter_duplicate_interactions (std::vector< std::vector< T >> &vec, bool filter_duplicates, size_t &removed_cnt, size_t &sorted_cnt) | 
|   | 
| template<typename T >  | 
| std::vector< std::vector< T > >  | generate_namespace_combinations_with_repetition (const std::set< T > &namespaces, size_t num_to_pick) | 
|   | 
| template<typename T >  | 
| std::vector< std::vector< T > >  | generate_namespace_permutations_with_repetition (const std::set< T > &namespaces, size_t num_to_pick) | 
|   | 
| std::vector< std::vector< namespace_index > >  | expand_quadratics_wildcard_interactions (bool leave_duplicate_interactions, const std::set< namespace_index > &new_example_indices) | 
|   | 
| bool  | sort_interactions_comparator (const std::vector< namespace_index > &a, const std::vector< namespace_index > &b) | 
|   | 
| template<generate_func_t< namespace_index > generate_func, bool leave_duplicate_interactions>  | 
| std::vector< std::vector< namespace_index > >  | compile_interaction (const std::vector< namespace_index > &interaction, const std::set< namespace_index > &indices) | 
|   | 
| template<generate_func_t< extent_term > generate_func, bool leave_duplicate_interactions>  | 
| std::vector< std::vector< extent_term > >  | compile_extent_interaction (const std::vector< extent_term > &interaction, const std::set< extent_term > &all_seen_extents) | 
|   | 
| template<generate_func_t< namespace_index > generate_func, bool leave_duplicate_interactions>  | 
| std::vector< std::vector< namespace_index > >  | compile_interactions (const std::vector< std::vector< namespace_index >> &interactions, const std::set< namespace_index > &indices) | 
|   | 
| template<generate_func_t< extent_term > generate_func, bool leave_duplicate_interactions>  | 
| std::vector< std::vector< extent_term > >  | compile_extent_interactions (const std::vector< std::vector< extent_term >> &interactions, const std::set< extent_term > &indices) | 
|   | 
| template<class DataT , void(*)(DataT &, const float, float &) FuncT, class WeightsT >  | 
| void  | call_FuncT (DataT &dat, WeightsT &weights, const float ft_value, const uint64_t ft_idx) | 
|   | 
| template<class DataT , void(*)(DataT &, const float, float) FuncT, class WeightsT >  | 
| void  | call_FuncT (DataT &dat, const WeightsT &weights, const float ft_value, const uint64_t ft_idx) | 
|   | 
| bool  | term_is_empty (namespace_index term, const std::array< features, NUM_NAMESPACES > &feature_groups) | 
|   | 
| bool  | has_empty_interaction_quadratic (const std::array< features, NUM_NAMESPACES > &feature_groups, const std::vector< namespace_index > &namespace_indexes) | 
|   | 
| bool  | has_empty_interaction_cubic (const std::array< features, NUM_NAMESPACES > &feature_groups, const std::vector< namespace_index > &namespace_indexes) | 
|   | 
| bool  | has_empty_interaction (const std::array< features, NUM_NAMESPACES > &feature_groups, const std::vector< namespace_index > &namespace_indexes) | 
|   | 
| bool  | has_empty_interaction (const std::array< features, NUM_NAMESPACES > &feature_groups, const std::vector< extent_term > &namespace_indexes) | 
|   | 
| float  | INTERACTION_VALUE (float value1, float value2) | 
|   | 
| std::tuple< features_range_t, features_range_t >  | generate_quadratic_char_combination (const std::array< features, NUM_NAMESPACES > &feature_groups, namespace_index ns_idx1, namespace_index ns_idx2) | 
|   | 
| template<typename DispatchCombinationFuncT >  | 
| void  | generate_generic_extent_combination_iterative (const std::array< features, NUM_NAMESPACES > &feature_groups, const std::vector< extent_term > &terms, const DispatchCombinationFuncT &dispatch_combination_func, std::stack< extent_interaction_expansion_stack_item > &in_process_frames, VW::moved_object_pool< extent_interaction_expansion_stack_item > &frame_pool) | 
|   | 
| std::tuple< features_range_t, features_range_t, features_range_t >  | generate_cubic_char_combination (const std::array< features, NUM_NAMESPACES > &feature_groups, namespace_index ns_idx1, namespace_index ns_idx2, namespace_index ns_idx3) | 
|   | 
| std::vector< features_range_t >  | generate_generic_char_combination (const std::array< features, NUM_NAMESPACES > &feature_groups, const std::vector< namespace_index > &terms) | 
|   | 
| template<class DataT , class WeightOrIndexT , void(*)(DataT &, float, WeightOrIndexT) FuncT, bool audit, void(*)(DataT &, const audit_strings *) audit_func, class WeightsT >  | 
| void  | inner_kernel (DataT &dat, features::const_audit_iterator &begin, features::const_audit_iterator &end, const uint64_t offset, WeightsT &weights, feature_value ft_value, feature_index halfhash) | 
|   | 
| template<bool Audit, typename KernelFuncT , typename AuditFuncT >  | 
| size_t  | process_quadratic_interaction (const std::tuple< features_range_t, features_range_t > &range, bool permutations, const KernelFuncT &kernel_func, const AuditFuncT &audit_func) | 
|   | 
| template<bool Audit, typename KernelFuncT , typename AuditFuncT >  | 
| size_t  | process_cubic_interaction (const std::tuple< features_range_t, features_range_t, features_range_t > &range, bool permutations, const KernelFuncT &kernel_func, const AuditFuncT &audit_func) | 
|   | 
| template<bool Audit, typename KernelFuncT , typename AuditFuncT >  | 
| size_t  | process_generic_interaction (const std::vector< features_range_t > &range, bool permutations, const KernelFuncT &kernel_func, const AuditFuncT &audit_func, std::vector< feature_gen_data > &state_data) | 
|   | 
| template<class DataT , class WeightOrIndexT , void(*)(DataT &, float, WeightOrIndexT) FuncT, bool audit, void(*)(DataT &, const audit_strings *) audit_func, class WeightsT >  | 
| void  | generate_interactions (const std::vector< std::vector< namespace_index >> &interactions, const std::vector< std::vector< extent_term >> &extent_interactions, bool permutations, example_predict &ec, DataT &dat, WeightsT &weights, size_t &num_features, generate_interactions_object_cache &cache) | 
|   |