Utility class that makes any derived class non-copyable. More...
#include <NonCopyable.hpp>
Protected Member Functions | |
NonCopyable () | |
Default constructor. | |
Utility class that makes any derived class non-copyable.
This class makes its instances non-copyable, by explicitely disabling its copy constructor and its assignment operator.
To create a non-copyable class, simply inherit from sf::NonCopyable.
The type of inheritance (public or private) doesn't matter, the copy constructor and assignment operator are declared private in sf::NonCopyable so they will end up being inaccessible in both cases. Thus you can use a shorter syntax for inheriting from it (see below).
Usage example:
Deciding whether the instances of a class can be copied or not is a very important design choice. You are strongly encouraged to think about it before writing a class, and to use sf::NonCopyable when necessary to prevent many potential future errors when using it. This is also a very important indication to users of your class.
Definition at line 41 of file NonCopyable.hpp.
|
inlineprotected |
Default constructor.
Because this class has a copy constructor, the compiler will not automatically generate the default constructor. That's why we must define it explicitely.
Definition at line 53 of file NonCopyable.hpp.