Loading...
Searching...
No Matches
bbm::concepts::fresnel Concept Reference

fresnel concept More...

#include <fresnel.h>

Concept definition

template<typename Fresnel>
concept bbm::concepts::fresnel = requires
{
typename std::decay_t<Fresnel>::parameter_type;
{ std::decay_t<Fresnel>::eval( std::declval<typename std::decay_t<Fresnel>::parameter_type>(), std::declval<Value_t<Fresnel>>(), std::declval<Mask_t<Fresnel>>() ) } -> concepts::same_as_any<Value_t<Fresnel>, Spectrum_t<Fresnel>>;
{ std::decay_t<Fresnel>::eval( std::declval<typename std::decay_t<Fresnel>::parameter_type>(), std::declval<Value_t<Fresnel>>() ) } -> concepts::same_as_any<Value_t<Fresnel>, Spectrum_t<Fresnel>>;
}
fresnel concept
Definition: fresnel.h:27
has_config
Definition: config.h:53
true if type is the same as any of the listed types
Definition: util.h:31
typename get_config< T >::Value Value_t
Definition: config.h:67
typename get_config< T >::Spectrum Spectrum_t
Definition: config.h:68

Detailed Description

fresnel concept

Each fresnel implementation has: