![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
Mix-Ins to allow or prohibit various degrees of copying and cloning. More...
Go to the source code of this file.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Whenever a class is conceived as entity with a well-defined "identity", or whenever a service has to manage resources, we consider it good practice to define it by default as "non copyable". This rules out a lot of complexities with mutable state and confusion regarding equality.
Definition in file nocopy.hpp.
Namespaces | |
| namespace | util |
Classes | |
| class | NonCopyable |
| Any copy and copy construction prohibited. More... | |
| class | MoveOnly |
| Types marked with this mix-in may be moved but not copied. More... | |
| class | MoveAssign |
| Types marked with this mix-in may be moved and move-assigned. More... | |
| class | NonAssign |
| Types marked with this mix-in may be created and moved liberally at construction, while any further assignment to object instances is prohibited thereafter. More... | |
| class | Cloneable |
| Types marked with this mix-in may be duplicated by copy-construction, yet may not be moved or transferred any further after creation. More... | |
| class | NoInstance |
| Not meant to be instantiated in any way. More... | |