23#ifndef VCL_BASE_CONCEPTS_POLYMORPHISM_H
24#define VCL_BASE_CONCEPTS_POLYMORPHISM_H
35template<
typename T,
typename D>
36concept IsSharedPtrOfBaseOf =
38 std::derived_from<D, std::remove_pointer_t<typename T::element_type>>;
65 { obj.clone() } -> detail::IsSharedPtrOfBaseOf<std::remove_cvref_t<T>>;
Concept that is evaluated true if T is a cloneable object.
Definition polymorphism.h:64