Skip to content

Instantly share code, notes, and snippets.

@deque-blog
Last active September 8, 2017 11:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save deque-blog/82b1acd19f2a47f7c0bd73a278542c9c to your computer and use it in GitHub Desktop.
Save deque-blog/82b1acd19f2a47f7c0bd73a278542c9c to your computer and use it in GitHub Desktop.
template<typename Derived>
struct Clonable
{
virtual ~Clonable() = default;
std::unique_ptr<Derived> clone()
{
return std::unique_ptr<Derived>(cloneImpl());
}
protected:
virtual Derived* cloneImpl() const = 0;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment