eve::like Concept Reference
#include <eve/product_type.hpp>
Concept definition
template<typename Wrapper, typename Self>
concept eve::like = std::same_as<std::remove_cvref_t<Wrapper>, Self> ||
supports_like<std::remove_cvref_t<Wrapper>, Self>::value
Definition: product_type.hpp:102
Detailed Description
like<Wrapper, T>
is a concept that describes a wrapper for which most of the functionality for T should be applicable. T is always like T.
like< Wrapper, T>
is true if Wrapper defines a typedef using is_like = T
or specialises eve::supports_like
.
Example: eve::wide<T>
is like<T>
.
This is used to work with custom structs in eve, see oop
section in examples
.