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

inout_linearizer concept More...

#include <inout_linearizer.h>

Concept definition

template<typename T>
concept bbm::concepts::inout_linearizer = requires(const T& t)
{
{ t.size() } -> std::same_as<Size_t<T>>;
{ t.operator()(std::declval<Size_t<T>>(), std::declval<Mask_t<T>>()) } -> std::same_as<Vec3dPair_t<T>>;
{ t.operator()(std::declval<Size_t<T>>()) } -> std::same_as<Vec3dPair_t<T>>;
{ t.operator()(std::declval<Vec3d_t<T>>(), std::declval<Vec3d_t<T>>(), std::declval<Mask_t<T>>()) } -> std::same_as<Size_t<T>>;
{ t.operator()(std::declval<Vec3d_t<T>>(), std::declval<Vec3d_t<T>>()) } -> std::same_as<Size_t<T>>;
}
has_config
Definition: config.h:53
inout_linearizer concept
Definition: inout_linearizer.h:28

Detailed Description

inout_linearizer concept

An inout_linearizer enumerates a discrete set of (in,out) directions on the joint incident and outgoing direction sphere.

Each inout_linearizer contains the following: