LSLOpt  1.0
Public Types | Static Public Attributes | List of all members
LSLOpt::Implementation::problem_traits< Problem, Scalar > Class Template Reference

Traits for the problem. More...

#include <ProblemTraits.hpp>

Public Types

using value_type = decltype(value_probe(*dummy_problem))
 return type of the value function; void if not provided
 
using gradient_type = decltype(gradient_probe(*dummy_problem))
 return type of the gradient function; void if not provided
 
using lower_bound_type = decltype(lower_bound_probe(*dummy_problem))
 return type of the lower_bounds function; void if not provided
 
using upper_bound_type = decltype(upper_bound_probe(*dummy_problem))
 return type of the upper_bounds function; void if not provided
 
using initial_step_length_type = decltype(initial_step_length_probe(*dummy_problem))
 return type of the initial_step_length function; void if not provided
 
using change_acceptable_type = decltype(change_acceptable_probe(*dummy_problem))
 return type of the change_acceptable function; void if not provided
 
using is_check_acceptable_first_type = decltype(is_check_acceptable_first_probe(*dummy_problem))
 return type of the check_acceptable_first function; void if not provided
 
using reparameterize_type = decltype(reparameterize_probe(*dummy_problem))
 return type of the reparameterize function; void if not provided
 

Static Public Attributes

static constexpr const bool has_value = std::is_same<Scalar, typename remove_cvref<value_type>::type>::value
 check if the problem has the value function
 
static constexpr const bool has_gradient
 check if the problem has the gradient function More...
 
static constexpr const bool has_lower_bound
 check if the problem has the lower_bounds function More...
 
static constexpr const bool has_upper_bound
 check if the problem has the upper_bounds function More...
 
static constexpr const bool has_initial_step_length
 check if the problem has the initial_step_length function More...
 
static constexpr const bool has_change_acceptable
 check if the problem has the change_acceptable function More...
 
static constexpr const bool has_is_check_acceptable_first
 check if the problem has the check_acceptable_first function More...
 
static constexpr const bool has_reparameterize
 check if the problem has the reparameterize function More...
 

Detailed Description

template<typename Problem, typename Scalar>
class LSLOpt::Implementation::problem_traits< Problem, Scalar >

Traits for the problem.

This class is used to check which features the problem implements.

This is used for better error messages using static_assert.

It uses the SFINAE concept.

Member Data Documentation

◆ has_change_acceptable

template<typename Problem, typename Scalar>
constexpr const bool LSLOpt::Implementation::problem_traits< Problem, Scalar >::has_change_acceptable
static
Initial value:
= std::is_same<Scalar,

check if the problem has the change_acceptable function

◆ has_gradient

template<typename Problem, typename Scalar>
constexpr const bool LSLOpt::Implementation::problem_traits< Problem, Scalar >::has_gradient
static
Initial value:
= std::is_same<Vector<Scalar>,

check if the problem has the gradient function

◆ has_initial_step_length

template<typename Problem, typename Scalar>
constexpr const bool LSLOpt::Implementation::problem_traits< Problem, Scalar >::has_initial_step_length
static
Initial value:
= std::is_same<Scalar,

check if the problem has the initial_step_length function

◆ has_is_check_acceptable_first

template<typename Problem, typename Scalar>
constexpr const bool LSLOpt::Implementation::problem_traits< Problem, Scalar >::has_is_check_acceptable_first
static
Initial value:
= std::is_same<bool,

check if the problem has the check_acceptable_first function

◆ has_lower_bound

template<typename Problem, typename Scalar>
constexpr const bool LSLOpt::Implementation::problem_traits< Problem, Scalar >::has_lower_bound
static
Initial value:
= std::is_same<Vector<Scalar>,

check if the problem has the lower_bounds function

◆ has_reparameterize

template<typename Problem, typename Scalar>
constexpr const bool LSLOpt::Implementation::problem_traits< Problem, Scalar >::has_reparameterize
static
Initial value:
= std::is_same<bool,

check if the problem has the reparameterize function

◆ has_upper_bound

template<typename Problem, typename Scalar>
constexpr const bool LSLOpt::Implementation::problem_traits< Problem, Scalar >::has_upper_bound
static
Initial value:
= std::is_same<Vector<Scalar>,

check if the problem has the upper_bounds function


The documentation for this class was generated from the following file: