E.V.E  0.1-beta

#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.