10#ifndef INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_CLONE_HXX
11#define INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_CLONE_HXX
19 template<
typename U, U x>
23 typedef struct {
char a[2]; }
no;
32 value =
sizeof(check_sig<T>(
nullptr)) ==
sizeof(
yes)
36template<
typename T,
bool HasClone>
50 return other->clone();
T * clone(T *const other)
Creates a new copy of the passed object.
static T * clone(T *const other)
static T * clone(T *const other)
static yes & check_sig(U *, test< U *(U::*)() const, &U::clone > *=nullptr)
static no & check_sig(...)