1#ifndef _BBM_SAMPLEDLOSSFUNCTION_CONCEPT_H_
2#define _BBM_SAMPLEDLOSSFUNCTION_CONCEPT_H_
26 template<
typename LOSSFUNC>
31 { std::as_const(func).samples() } -> std::same_as<Size_t<LOSSFUNC>>;
33 { std::as_const(func)(std::declval<Size_t<LOSSFUNC>>()) } -> std::same_as<Value_t<LOSSFUNC>>;
34 { std::as_const(func)(std::declval<Size_t<LOSSFUNC>>(), std::declval<Mask_t<LOSSFUNC>>()) } -> std::same_as<Value_t<LOSSFUNC>>;
config concept
Definition: config.h:31
loss function concept
Definition: lossfunction.h:29
sampled loss function concept
Definition: sampledlossfunction.h:27
#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: sampledlossfunction.h:46
Value_t< Config > operator()(const Size_t< Config > &, Mask_t< Config >) const
Size_t< Config > samples(void) const
CONF Config
Definition: sampledlossfunction.h:47