1#ifndef __JLANG__JCLONABLE__
2#define __JLANG__JCLONABLE__
11namespace JPP {
using namespace JLANG; }
19 template<
class JClonable_t,
class JDerived_t = JNullType>
26 template<
class JClonable_t>
56 template<
class JClonable_t,
class JDerived_t>
71 return new JDerived_t(
static_cast<const JDerived_t&
>(*
this));
Auxiliary classes and methods for language specific functionality.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
virtual clone_type clone() const =0
Get clone of this object.
virtual ~JClonable()
Virtual destructor.
JClonable_t * clone_type
Type definition of return value of method clone().
Template class for object cloning.
JClonable< JClonable_t >::clone_type clone_type
virtual clone_type clone() const override
Get clone of this object.
Auxiliary class for no type definition.