OpenMS
Loading...
Searching...
No Matches
GridSearch< TupleTypes > Class Template Reference

#include <OpenMS/ML/GRIDSEARCH/GridSearch.h>

Collaboration diagram for GridSearch< TupleTypes >:
[legend]

Public Member Functions

 GridSearch (std::vector< TupleTypes >... gridValues)
 
template<typename Functor >
requires Internal::Evaluator<Functor, TupleTypes...>
constexpr auto evaluate (Functor evaluator, std::invoke_result_t< Functor, TupleTypes... > startValue, std::array< size_t, std::tuple_size_v< std::tuple< std::vector< TupleTypes >... > > > &resultIndices) const
 
template<typename EvalResult >
requires std::convertible_to<EvalResult, double>
constexpr auto evaluate (EvalResult(*evaluator)(TupleTypes...), EvalResult startValue, std::array< size_t, std::tuple_size_v< std::tuple< std::vector< TupleTypes >... > > > &resultIndices) const
 
constexpr auto getNrCombos () const -> unsigned int
 

Private Member Functions

template<std::size_t I = 0>
constexpr unsigned int calculateCombos () const
 

Private Attributes

std::tuple< std::vector< TupleTypes >... > grid_
 
unsigned int combos_ = 1
 
bool combos_ready_ = false
 

Constructor & Destructor Documentation

◆ GridSearch()

template<typename... TupleTypes>
GridSearch ( std::vector< TupleTypes >...  gridValues)
inlineexplicit

Member Function Documentation

◆ calculateCombos()

template<typename... TupleTypes>
template<std::size_t I = 0>
constexpr unsigned int calculateCombos ( ) const
inlineconstexprprivate

◆ evaluate() [1/2]

template<typename... TupleTypes>
template<typename EvalResult >
requires std::convertible_to<EvalResult, double>
constexpr auto evaluate ( EvalResult(*)(TupleTypes...)  evaluator,
EvalResult  startValue,
std::array< size_t, std::tuple_size_v< std::tuple< std::vector< TupleTypes >... > > > &  resultIndices 
) const
inlineconstexpr

◆ evaluate() [2/2]

template<typename... TupleTypes>
template<typename Functor >
requires Internal::Evaluator<Functor, TupleTypes...>
constexpr auto evaluate ( Functor  evaluator,
std::invoke_result_t< Functor, TupleTypes... >  startValue,
std::array< size_t, std::tuple_size_v< std::tuple< std::vector< TupleTypes >... > > > &  resultIndices 
) const
inlineconstexpr

◆ getNrCombos()

template<typename... TupleTypes>
constexpr auto getNrCombos ( ) const -> unsigned int
inlineconstexpr

Member Data Documentation

◆ combos_

template<typename... TupleTypes>
unsigned int combos_ = 1
mutableprivate

◆ combos_ready_

template<typename... TupleTypes>
bool combos_ready_ = false
mutableprivate

◆ grid_

template<typename... TupleTypes>
std::tuple<std::vector<TupleTypes>...> grid_
private