open62541pp 0.17.0
C++ wrapper of open62541
|
#include <typewrapper.hpp>
Template base class to wrap UA_*
type objects that require manual memory management.
Provides a zero-cost abstraction to wrap C API objects and automatically delete them upon destruction.
Definition at line 24 of file typewrapper.hpp.
Public Member Functions | |
constexpr | TypeWrapper () noexcept=default |
constexpr | TypeWrapper (const T &native) |
constexpr | TypeWrapper (T &&native) noexcept |
~TypeWrapper () | |
constexpr | TypeWrapper (const TypeWrapper &other) |
constexpr | TypeWrapper (TypeWrapper &&other) noexcept |
constexpr TypeWrapper & | operator= (const TypeWrapper &other) |
constexpr TypeWrapper & | operator= (const T &native) |
constexpr TypeWrapper & | operator= (TypeWrapper &&other) noexcept |
constexpr TypeWrapper & | operator= (T &&native) noexcept |
![]() | |
constexpr | Wrapper () noexcept=default |
constexpr | Wrapper (const T &native) noexcept |
constexpr | Wrapper (T &&native) noexcept |
constexpr Wrapper & | operator= (const T &native) noexcept |
constexpr Wrapper & | operator= (T &&native) noexcept |
constexpr | operator T& () noexcept |
constexpr | operator const T & () const noexcept |
constexpr T * | operator-> () noexcept |
constexpr const T * | operator-> () const noexcept |
constexpr T * | handle () noexcept |
constexpr const T * | handle () const noexcept |
constexpr void | swap (Wrapper &other) noexcept |
constexpr void | swap (T &native) noexcept |
Static Public Member Functions | |
static constexpr TypeIndex | typeIndex () |
Protected Member Functions | |
constexpr void | clear () noexcept |
![]() | |
constexpr const T & | native () const noexcept |
constexpr T & | native () noexcept |
Additional Inherited Members | |
![]() | |
using | NativeType = T |
![]() | |
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType> | |
constexpr WrapperType * | asWrapper (NativeType *native) noexcept |
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType> | |
constexpr const WrapperType * | asWrapper (const NativeType *native) noexcept |
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType> | |
constexpr WrapperType & | asWrapper (NativeType &native) noexcept |
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType> | |
constexpr const WrapperType & | asWrapper (const NativeType &native) noexcept |
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType> | |
constexpr NativeType * | asNative (WrapperType *wrapper) noexcept |
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType> | |
constexpr const NativeType * | asNative (const WrapperType *wrapper) noexcept |
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType> | |
constexpr NativeType & | asNative (WrapperType &wrapper) noexcept |
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType> | |
constexpr const NativeType & | asNative (const WrapperType &wrapper) noexcept |
|
constexprdefaultnoexcept |
|
inlineexplicitconstexpr |
Constructor with native object (deep copy).
Definition at line 31 of file typewrapper.hpp.
|
inlineconstexprnoexcept |
Constructor with native object (move rvalue).
Definition at line 35 of file typewrapper.hpp.
|
inline |
Definition at line 38 of file typewrapper.hpp.
|
inlineconstexpr |
Copy constructor (deep copy).
Definition at line 43 of file typewrapper.hpp.
|
inlineconstexprnoexcept |
Move constructor.
Definition at line 47 of file typewrapper.hpp.
|
inlineconstexpr |
Copy assignment (deep copy).
Definition at line 51 of file typewrapper.hpp.
|
inlineconstexpr |
Copy assignment with native object (deep copy).
Definition at line 60 of file typewrapper.hpp.
|
inlineconstexprnoexcept |
Move assignment.
Definition at line 69 of file typewrapper.hpp.
|
inlineconstexprnoexcept |
Move assignment with native object.
Definition at line 78 of file typewrapper.hpp.
|
inlinestaticconstexpr |
Get type as type index of the UA_TYPES array.
Definition at line 87 of file typewrapper.hpp.
|
inlineconstexprprotectednoexcept |