| 
| template<typename It >  | 
| int  | VW::explore::details::generate_epsilon_greedy (float epsilon, uint32_t top_action, It pmf_first, It pmf_last, std::random_access_iterator_tag) | 
|   | 
| template<typename InputIt , typename OutputIt >  | 
| int  | VW::explore::details::generate_softmax (float lambda, InputIt scores_first, InputIt scores_last, std::input_iterator_tag, OutputIt pmf_first, OutputIt pmf_last, std::random_access_iterator_tag) | 
|   | 
| template<typename InputIt , typename OutputIt >  | 
| int  | VW::explore::details::generate_bag (InputIt top_actions_first, InputIt top_actions_last, std::input_iterator_tag, OutputIt pmf_first, OutputIt pmf_last, std::random_access_iterator_tag) | 
|   | 
| template<typename It >  | 
| int  | VW::explore::details::enforce_minimum_probability (float uniform_epsilon, bool consider_zero_valued_elements, It pmf_first, It pmf_last, std::random_access_iterator_tag) | 
|   | 
| template<typename It >  | 
| int  | VW::explore::details::mix_with_uniform (float uniform_epsilon, It pmf_first, It pmf_last, std::random_access_iterator_tag) | 
|   | 
| template<typename It >  | 
| int  | VW::explore::details::sample_after_normalizing (uint64_t seed, It pmf_first, It pmf_last, uint32_t &chosen_index, std::input_iterator_tag) | 
|   | 
| template<typename It >  | 
| int  | VW::explore::details::sample_after_normalizing (const char *seed, It pmf_first, It pmf_last, uint32_t &chosen_index, std::random_access_iterator_tag pmf_category) | 
|   | 
| template<typename ActionIt >  | 
| int  | VW::explore::details::swap_chosen (ActionIt action_first, ActionIt action_last, std::forward_iterator_tag, uint32_t chosen_index) | 
|   | 
| template<typename It >  | 
| int  | VW::explore::details::sample_scores (uint64_t *p_seed, It scores_first, It scores_last, uint32_t &chosen_index, std::random_access_iterator_tag) | 
|   | 
| template<typename It >  | 
| int  | VW::explore::details::sample_pdf (uint64_t *p_seed, It pdf_first, It pdf_last, float &chosen_value, float &pdf_value, std::random_access_iterator_tag) | 
|   | 
| template<typename It >  | 
| int  | VW::explore::generate_epsilon_greedy (float epsilon, uint32_t top_action, It pmf_first, It pmf_last) | 
|   | Experimental: Generates epsilon-greedy style exploration distribution.  More...
  | 
|   | 
| template<typename InputIt , typename OutputIt >  | 
| int  | VW::explore::generate_softmax (float lambda, InputIt scores_first, InputIt scores_last, OutputIt pmf_first, OutputIt pmf_last) | 
|   | Generates softmax style exploration distribution.  More...
  | 
|   | 
| template<typename InputIt , typename OutputIt >  | 
| int  | VW::explore::generate_bag (InputIt top_actions_first, InputIt top_actions_last, OutputIt pmf_first, OutputIt pmf_last) | 
|   | Generates an exploration distribution according to votes on actions.  More...
  | 
|   | 
| template<typename It >  | 
| int  | VW::explore::enforce_minimum_probability (float uniform_epsilon, bool consider_zero_valued_elements, It pmf_first, It pmf_last) | 
|   | Updates the pmf to ensure each action is explored with at least minimum_uniform/num_actions.  More...
  | 
|   | 
| template<typename It >  | 
| int  | VW::explore::mix_with_uniform (float uniform_epsilon, It pmf_first, It pmf_last) | 
|   | Mix original PMF with uniform distribution.  More...
  | 
|   | 
| template<typename It >  | 
| int  | VW::explore::sample_after_normalizing (uint64_t seed, It pmf_first, It pmf_last, uint32_t &chosen_index) | 
|   | Sample an index from the provided pmf. If the pmf is not normalized it will be updated in-place.  More...
  | 
|   | 
| template<typename It >  | 
| int  | VW::explore::sample_after_normalizing (const char *seed, It pmf_first, It pmf_last, uint32_t &chosen_index) | 
|   | Sample an index from the provided pmf. If the pmf is not normalized it will be updated in-place.  More...
  | 
|   | 
| template<typename ActionsIt >  | 
| int  | VW::explore::swap_chosen (ActionsIt action_first, ActionsIt action_last, uint32_t chosen_index) | 
|   | 
| template<typename It >  | 
| int  | VW::explore::sample_pdf (uint64_t *p_seed, It pdf_first, It pdf_last, float &chosen_value, float &pdf_value) | 
|   | Sample a continuous value from the provided pdf.  More...
  | 
|   |