1#ifndef _BBM_LOSSFUNCTION_CONCEPT_H_
2#define _BBM_LOSSFUNCTION_CONCEPT_H_
28 template<
typename LOSSFUNC>
33 { std::as_const(func)() } -> std::same_as<Value_t<LOSSFUNC>>;
34 { std::as_const(func)(std::declval<typename std::decay_t<Mask_t<LOSSFUNC>>>()) } -> std::same_as<Value_t<LOSSFUNC>>;
All BBM methods are defined to operate on a variety of value types and spectrum types....
config concept
Definition: config.h:31
has_config
Definition: config.h:53
loss function concept
Definition: lossfunction.h:29
Macros for checking if a class meets a concept.
#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
lossfunction archetype for concept checking
Definition: lossfunction.h:45
Value_t< Config > operator()(Mask_t< Config >=true) const
CONF Config
Definition: lossfunction.h:46