|
StormByte C++ Library 0.0.9999
StormByte is a comprehensive, cross-platform C++ library aimed at easing system programming, configuration management, logging, and database handling tasks. This library provides a unified API that abstracts away the complexities and inconsistencies of different platforms (Windows, Linux).
|
A class that can be cloned. More...
#include <clonable.hxx>
Public Types | |
| using | PointerType = SmartPointer |
| Pointer type. | |
Public Member Functions | |
| constexpr | Clonable ()=default |
| constexpr | Clonable (const Clonable &)=default |
| constexpr | Clonable (Clonable &&) noexcept=default |
| constexpr Clonable & | operator= (const Clonable &)=default |
| constexpr Clonable & | operator= (Clonable &&) noexcept=default |
| virtual constexpr | ~Clonable () noexcept=default |
| virtual PointerType | Clone () const =0 |
| virtual PointerType | Move ()=0 |
Static Public Member Functions | |
| template<class Target , typename... Args> | |
| static PointerType | MakePointer (Args &&... args) |
A class that can be cloned.
|
constexprdefault |
Constructor
|
constexprdefault |
Copy constructor
|
constexprdefaultnoexcept |
Move constructor
|
constexprvirtualdefaultnoexcept |
Destructor
|
pure virtual |
Clones the object
|
inlinestatic |
Makes a pointer
| Target | The type of the object to create a pointer for (can be T or a derived type). |
| Args | The constructor arguments for Target. |
| args | Arguments to forward to Target's constructor. |
PointerType managing the newly created Target.
|
pure virtual |
Moves the object
|
constexprdefaultnoexcept |
Move assignment operator
|
constexprdefault |
Assignment operator