sparrow 0.3.0
Loading...
Searching...
No Matches
sparrow::clonable Concept Reference

Matches types that provide a clone method. More...

#include <memory.hpp>

Concept definition

template<class T>
concept sparrow::clonable = std::derived_from<T, std::decay_t<decltype(*std::declval<T*>()->clone())>>
&& detail::is_unique_ptr_v<decltype(std::declval<T*>()->clone())>
Matches types that provide a clone method.
Definition memory.hpp:110
constexpr bool is_unique_ptr_v
Definition memory.hpp:99

Detailed Description

Matches types that provide a clone method.

This concept checks if a type T provides a clone method that returns a unique pointer to an object whose type is a base of T.

Template Parameters
TThe type to check

Definition at line 110 of file memory.hpp.