1#ifndef _BBM_OPTIMIZATION_ALGORITHM_CONCEPT_H_
2#define _BBM_OPTIMIZATION_ALGORITHM_CONCEPT_H_
24 template<
typename OPT>
30 { opt.step() } -> std::same_as<Value_t<OPT>>;
36 { std::as_const(opt).is_converged() } -> std::same_as<Mask_t<OPT>>;
45 template<
typename CONF=config>
All BBM methods are defined to operate on a variety of value types and spectrum types....
has_config
Definition: config.h:53
optimization_algorithm concept
Definition: optimization_algorithm.h:25
#define BBM_CHECK_CONCEPT(CONCEPTNAME, CLASSNAME,...)
Check a class for a concept with bbm::concepts::archetypes in the namespace.
Definition: macro.h:35
Definition: aggregatebsdf.h:29
typename get_config< T >::Value Value_t
Definition: config.h:67
Definition: optimization_algorithm.h:47
Value_t< Config > step(void)
Mask_t< Config > is_converged(void) const
CONF Config
Definition: optimization_algorithm.h:48