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