OpenMS
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 constexpr Internal::Evaluator< Functor, TupleTypes... > 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 constexpr std::convertible_to< EvalResult, double > 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()

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

Member Function Documentation

◆ calculateCombos()

constexpr unsigned int calculateCombos ( ) const
inlineconstexprprivate

◆ evaluate() [1/2]

requires constexpr std::convertible_to<EvalResult, double> 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]

requires constexpr Internal::Evaluator<Functor, TupleTypes...> 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()

constexpr auto getNrCombos ( ) const -> unsigned int
inlineconstexpr

Member Data Documentation

◆ combos_

unsigned int combos_ = 1
mutableprivate

◆ combos_ready_

bool combos_ready_ = false
mutableprivate

◆ grid_

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