LiteFX 0.4.1.2025
Computer Graphics Engine
|
A smart pointer that manages an implementation instance for a public interface class. More...
#include <containers.hpp>
Public Member Functions | |
constexpr | PimplPtr () |
Initializes a new pointer to an implementation instance. | |
template<typename... TArgs> | |
constexpr | PimplPtr (TArgs &&... args) |
Initializes a new pointer of an implementation. | |
constexpr | PimplPtr (const PimplPtr &src) |
Initializes a new pointer to a copy of the implementation instance managed by src . | |
constexpr | PimplPtr (PimplPtr &&src) noexcept=default |
Initializes a new pointer by taking over the implementation instance managed by src . | |
constexpr PimplPtr & | operator= (const PimplPtr &src) |
Initializes a new pointer to a copy of the implementation instance managed by src . | |
constexpr PimplPtr & | operator= (PimplPtr &&src) noexcept=default |
Initializes a new pointer by taking over the implementation instance managed by src . | |
constexpr | ~PimplPtr () noexcept=default |
constexpr pImpl & | operator* () const noexcept |
Returns a reference to the managed implementation instance. | |
constexpr pImpl * | operator-> () const noexcept |
Returns a pointer to the managed implementation instance. | |
A smart pointer that manages an implementation instance for a public interface class.
pImpl | The type of the implementation class. |
|
inlineconstexpr |
Initializes a new pointer to an implementation instance.
|
inlineconstexpr |
Initializes a new pointer of an implementation.
...TArgs | The types of the arguments passed to the implementation constructor. |
...args | The arguments passed to the implementation constructor. |
|
inlineconstexpr |
Initializes a new pointer to a copy of the implementation instance managed by src .
src | The source pointer to copy the implementation instance from. |
|
constexprdefaultnoexcept |
Initializes a new pointer by taking over the implementation instance managed by src .
src | The source pointer to take over. |
|
constexprdefaultnoexcept |
|
inlineconstexprnoexcept |
Returns a reference to the managed implementation instance.
|
inlineconstexprnoexcept |
Returns a pointer to the managed implementation instance.
|
inlineconstexpr |
Initializes a new pointer to a copy of the implementation instance managed by src .
Note that this will share ownership between this instance and src . Only use this method, if you release either of both implementation pointers manually!
src | The source pointer to copy the implementation instance from. |
|
constexprdefaultnoexcept |
Initializes a new pointer by taking over the implementation instance managed by src .
src | The source pointer to take over. |