clone_ptr_concepts.h

Back to Cloning pointer

pastel/sys/pointer/clone_ptr/

// Description: Concepts for ClonePtr

#ifndef PASTELSYS_CLONE_PTR_CONCEPTS_H
#define PASTELSYS_CLONE_PTR_CONCEPTS_H

#include "pastel/sys/pointer/clone_ptr.h"

#include "pastel/sys/mytypes.h"

namespace Pastel
{

    namespace ClonePtr_Concepts
    {

        using Type = UserDefinedType;

        class Cloner
        {
        public:
            //! Returns a deep copy of 'that'. 
            Type* operator()(const Type& that) const;
        };

        class Deleter
        {
        public:
            //! Frees the resource in 'that'.
            void operator()(const Type* that) const;
        };

    }

}

#endif