open62541pp 0.18.0
C++ wrapper of open62541
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | List of all members
opcua::Wrapper< T > Class Template Reference

#include <wrapper.hpp>

Inherited by opcua::TypeWrapper< UA_ByteString, UA_TYPES_BYTESTRING >, opcua::TypeWrapper< UA_DataValue, UA_TYPES_DATAVALUE >, opcua::TypeWrapper< UA_DateTime, UA_TYPES_DATETIME >, opcua::TypeWrapper< UA_DiagnosticInfo, UA_TYPES_DIAGNOSTICINFO >, opcua::TypeWrapper< UA_ExpandedNodeId, UA_TYPES_EXPANDEDNODEID >, opcua::TypeWrapper< UA_ExtensionObject, UA_TYPES_EXTENSIONOBJECT >, opcua::TypeWrapper< UA_Guid, UA_TYPES_GUID >, opcua::TypeWrapper< UA_LocalizedText, UA_TYPES_LOCALIZEDTEXT >, opcua::TypeWrapper< UA_NodeId, UA_TYPES_NODEID >, opcua::TypeWrapper< UA_QualifiedName, UA_TYPES_QUALIFIEDNAME >, opcua::TypeWrapper< UA_String, UA_TYPES_STRING >, opcua::TypeWrapper< UA_Variant, UA_TYPES_VARIANT >, opcua::TypeWrapper< UA_XmlElement, UA_TYPES_XMLELEMENT >, opcua::TypeWrapper< UA_AddNodesItem, UA_TYPES_ADDNODESITEM >, opcua::TypeWrapper< UA_AddNodesRequest, UA_TYPES_ADDNODESREQUEST >, opcua::TypeWrapper< UA_AddNodesResponse, UA_TYPES_ADDNODESRESPONSE >, opcua::TypeWrapper< UA_AddNodesResult, UA_TYPES_ADDNODESRESULT >, opcua::TypeWrapper< UA_AddReferencesItem, UA_TYPES_ADDREFERENCESITEM >, opcua::TypeWrapper< UA_AddReferencesRequest, UA_TYPES_ADDREFERENCESREQUEST >, opcua::TypeWrapper< UA_AddReferencesResponse, UA_TYPES_ADDREFERENCESRESPONSE >, opcua::TypeWrapper< UA_AggregateFilter, UA_TYPES_AGGREGATEFILTER >, opcua::TypeWrapper< UA_AnonymousIdentityToken, UA_TYPES_ANONYMOUSIDENTITYTOKEN >, opcua::TypeWrapper< UA_ApplicationDescription, UA_TYPES_APPLICATIONDESCRIPTION >, opcua::TypeWrapper< UA_Argument, UA_TYPES_ARGUMENT >, opcua::TypeWrapper< UA_AttributeOperand, UA_TYPES_ATTRIBUTEOPERAND >, opcua::TypeWrapper< UA_AxisInformation, UA_TYPES_AXISINFORMATION >, opcua::TypeWrapper< UA_BrowseDescription, UA_TYPES_BROWSEDESCRIPTION >, opcua::TypeWrapper< UA_BrowseNextRequest, UA_TYPES_BROWSENEXTREQUEST >, opcua::TypeWrapper< UA_BrowseNextResponse, UA_TYPES_BROWSENEXTRESPONSE >, opcua::TypeWrapper< UA_BrowsePath, UA_TYPES_BROWSEPATH >, opcua::TypeWrapper< UA_BrowsePathResult, UA_TYPES_BROWSEPATHRESULT >, opcua::TypeWrapper< UA_BrowsePathTarget, UA_TYPES_BROWSEPATHTARGET >, opcua::TypeWrapper< UA_BrowseRequest, UA_TYPES_BROWSEREQUEST >, opcua::TypeWrapper< UA_BrowseResponse, UA_TYPES_BROWSERESPONSE >, opcua::TypeWrapper< UA_BrowseResult, UA_TYPES_BROWSERESULT >, opcua::TypeWrapper< UA_BuildInfo, UA_TYPES_BUILDINFO >, opcua::TypeWrapper< UA_CallMethodRequest, UA_TYPES_CALLMETHODREQUEST >, opcua::TypeWrapper< UA_CallMethodResult, UA_TYPES_CALLMETHODRESULT >, opcua::TypeWrapper< UA_CallRequest, UA_TYPES_CALLREQUEST >, opcua::TypeWrapper< UA_CallResponse, UA_TYPES_CALLRESPONSE >, opcua::TypeWrapper< UA_ComplexNumberType, UA_TYPES_COMPLEXNUMBERTYPE >, opcua::TypeWrapper< UA_ContentFilter, UA_TYPES_CONTENTFILTER >, opcua::TypeWrapper< UA_ContentFilterElement, UA_TYPES_CONTENTFILTERELEMENT >, opcua::TypeWrapper< UA_CreateMonitoredItemsRequest, UA_TYPES_CREATEMONITOREDITEMSREQUEST >, opcua::TypeWrapper< UA_CreateMonitoredItemsResponse, UA_TYPES_CREATEMONITOREDITEMSRESPONSE >, opcua::TypeWrapper< UA_CreateSubscriptionRequest, UA_TYPES_CREATESUBSCRIPTIONREQUEST >, opcua::TypeWrapper< UA_CreateSubscriptionResponse, UA_TYPES_CREATESUBSCRIPTIONRESPONSE >, opcua::TypeWrapper< UA_DataChangeFilter, UA_TYPES_DATACHANGEFILTER >, opcua::TypeWrapper< UA_DataTypeAttributes, UA_TYPES_DATATYPEATTRIBUTES >, opcua::TypeWrapper< UA_DeleteMonitoredItemsRequest, UA_TYPES_DELETEMONITOREDITEMSREQUEST >, opcua::TypeWrapper< UA_DeleteMonitoredItemsResponse, UA_TYPES_DELETEMONITOREDITEMSRESPONSE >, opcua::TypeWrapper< UA_DeleteNodesItem, UA_TYPES_DELETENODESITEM >, opcua::TypeWrapper< UA_DeleteNodesRequest, UA_TYPES_DELETENODESREQUEST >, opcua::TypeWrapper< UA_DeleteNodesResponse, UA_TYPES_DELETENODESRESPONSE >, opcua::TypeWrapper< UA_DeleteReferencesItem, UA_TYPES_DELETEREFERENCESITEM >, opcua::TypeWrapper< UA_DeleteReferencesRequest, UA_TYPES_DELETEREFERENCESREQUEST >, opcua::TypeWrapper< UA_DeleteReferencesResponse, UA_TYPES_DELETEREFERENCESRESPONSE >, opcua::TypeWrapper< UA_DeleteSubscriptionsRequest, UA_TYPES_DELETESUBSCRIPTIONSREQUEST >, opcua::TypeWrapper< UA_DeleteSubscriptionsResponse, UA_TYPES_DELETESUBSCRIPTIONSRESPONSE >, opcua::TypeWrapper< UA_DoubleComplexNumberType, UA_TYPES_DOUBLECOMPLEXNUMBERTYPE >, opcua::TypeWrapper< UA_EUInformation, UA_TYPES_EUINFORMATION >, opcua::TypeWrapper< UA_ElementOperand, UA_TYPES_ELEMENTOPERAND >, opcua::TypeWrapper< UA_EndpointDescription, UA_TYPES_ENDPOINTDESCRIPTION >, opcua::TypeWrapper< UA_EnumDefinition, UA_TYPES_ENUMDEFINITION >, opcua::TypeWrapper< UA_EnumField, UA_TYPES_ENUMFIELD >, opcua::TypeWrapper< UA_EnumValueType, UA_TYPES_ENUMVALUETYPE >, opcua::TypeWrapper< UA_EventFilter, UA_TYPES_EVENTFILTER >, opcua::TypeWrapper< UA_IssuedIdentityToken, UA_TYPES_ISSUEDIDENTITYTOKEN >, opcua::TypeWrapper< UA_LiteralOperand, UA_TYPES_LITERALOPERAND >, opcua::TypeWrapper< UA_MethodAttributes, UA_TYPES_METHODATTRIBUTES >, opcua::TypeWrapper< UA_ModifyMonitoredItemsRequest, UA_TYPES_MODIFYMONITOREDITEMSREQUEST >, opcua::TypeWrapper< UA_ModifyMonitoredItemsResponse, UA_TYPES_MODIFYMONITOREDITEMSRESPONSE >, opcua::TypeWrapper< UA_ModifySubscriptionRequest, UA_TYPES_MODIFYSUBSCRIPTIONREQUEST >, opcua::TypeWrapper< UA_ModifySubscriptionResponse, UA_TYPES_MODIFYSUBSCRIPTIONRESPONSE >, opcua::TypeWrapper< UA_MonitoredItemCreateRequest, UA_TYPES_MONITOREDITEMCREATEREQUEST >, opcua::TypeWrapper< UA_MonitoredItemCreateResult, UA_TYPES_MONITOREDITEMCREATERESULT >, opcua::TypeWrapper< UA_MonitoredItemModifyRequest, UA_TYPES_MONITOREDITEMMODIFYREQUEST >, opcua::TypeWrapper< UA_MonitoredItemModifyResult, UA_TYPES_MONITOREDITEMMODIFYRESULT >, opcua::TypeWrapper< UA_MonitoringParameters, UA_TYPES_MONITORINGPARAMETERS >, opcua::TypeWrapper< UA_NodeAttributes, UA_TYPES_NODEATTRIBUTES >, opcua::TypeWrapper< UA_ObjectAttributes, UA_TYPES_OBJECTATTRIBUTES >, opcua::TypeWrapper< UA_ObjectTypeAttributes, UA_TYPES_OBJECTTYPEATTRIBUTES >, opcua::TypeWrapper< UA_Range, UA_TYPES_RANGE >, opcua::TypeWrapper< UA_ReadRequest, UA_TYPES_READREQUEST >, opcua::TypeWrapper< UA_ReadResponse, UA_TYPES_READRESPONSE >, opcua::TypeWrapper< UA_ReadValueId, UA_TYPES_READVALUEID >, opcua::TypeWrapper< UA_ReferenceDescription, UA_TYPES_REFERENCEDESCRIPTION >, opcua::TypeWrapper< UA_ReferenceTypeAttributes, UA_TYPES_REFERENCETYPEATTRIBUTES >, opcua::TypeWrapper< UA_RegisterNodesRequest, UA_TYPES_REGISTERNODESREQUEST >, opcua::TypeWrapper< UA_RegisterNodesResponse, UA_TYPES_REGISTERNODESRESPONSE >, opcua::TypeWrapper< UA_RelativePath, UA_TYPES_RELATIVEPATH >, opcua::TypeWrapper< UA_RelativePathElement, UA_TYPES_RELATIVEPATHELEMENT >, opcua::TypeWrapper< UA_RequestHeader, UA_TYPES_REQUESTHEADER >, opcua::TypeWrapper< UA_ResponseHeader, UA_TYPES_RESPONSEHEADER >, opcua::TypeWrapper< UA_SetMonitoringModeRequest, UA_TYPES_SETMONITORINGMODEREQUEST >, opcua::TypeWrapper< UA_SetMonitoringModeResponse, UA_TYPES_SETMONITORINGMODERESPONSE >, opcua::TypeWrapper< UA_SetPublishingModeRequest, UA_TYPES_SETPUBLISHINGMODEREQUEST >, opcua::TypeWrapper< UA_SetPublishingModeResponse, UA_TYPES_SETPUBLISHINGMODERESPONSE >, opcua::TypeWrapper< UA_SetTriggeringRequest, UA_TYPES_SETTRIGGERINGREQUEST >, opcua::TypeWrapper< UA_SetTriggeringResponse, UA_TYPES_SETTRIGGERINGRESPONSE >, opcua::TypeWrapper< UA_SimpleAttributeOperand, UA_TYPES_SIMPLEATTRIBUTEOPERAND >, opcua::TypeWrapper< UA_StatusChangeNotification, UA_TYPES_STATUSCHANGENOTIFICATION >, opcua::TypeWrapper< UA_StructureDefinition, UA_TYPES_STRUCTUREDEFINITION >, opcua::TypeWrapper< UA_StructureField, UA_TYPES_STRUCTUREFIELD >, opcua::TypeWrapper< UA_TranslateBrowsePathsToNodeIdsRequest, UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSREQUEST >, opcua::TypeWrapper< UA_TranslateBrowsePathsToNodeIdsResponse, UA_TYPES_TRANSLATEBROWSEPATHSTONODEIDSRESPONSE >, opcua::TypeWrapper< UA_UnregisterNodesRequest, UA_TYPES_UNREGISTERNODESREQUEST >, opcua::TypeWrapper< UA_UnregisterNodesResponse, UA_TYPES_UNREGISTERNODESRESPONSE >, opcua::TypeWrapper< UA_UserIdentityToken, UA_TYPES_USERIDENTITYTOKEN >, opcua::TypeWrapper< UA_UserNameIdentityToken, UA_TYPES_USERNAMEIDENTITYTOKEN >, opcua::TypeWrapper< UA_UserTokenPolicy, UA_TYPES_USERTOKENPOLICY >, opcua::TypeWrapper< UA_VariableAttributes, UA_TYPES_VARIABLEATTRIBUTES >, opcua::TypeWrapper< UA_VariableTypeAttributes, UA_TYPES_VARIABLETYPEATTRIBUTES >, opcua::TypeWrapper< UA_ViewAttributes, UA_TYPES_VIEWATTRIBUTES >, opcua::TypeWrapper< UA_ViewDescription, UA_TYPES_VIEWDESCRIPTION >, opcua::TypeWrapper< UA_WriteRequest, UA_TYPES_WRITEREQUEST >, opcua::TypeWrapper< UA_WriteResponse, UA_TYPES_WRITERESPONSE >, opcua::TypeWrapper< UA_WriteValue, UA_TYPES_WRITEVALUE >, opcua::TypeWrapper< UA_X509IdentityToken, UA_TYPES_X509IDENTITYTOKEN >, opcua::TypeWrapper< UA_XVType, UA_TYPES_XVTYPE >, and opcua::TypeWrapper< T, Index >.

Detailed Description

template<typename T>
class opcua::Wrapper< T >

Template base class to wrap native objects.

Definition at line 33 of file wrapper.hpp.

Public Types

using NativeType = T
 

Public Member Functions

constexpr Wrapper () noexcept=default
 
constexpr Wrapper (const T &native) noexcept
 
constexpr Wrapper (T &&native) noexcept
 
constexpr Wrapperoperator= (const T &native) noexcept
 
constexpr Wrapperoperator= (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
 

Protected Member Functions

constexpr const T & native () const noexcept
 
constexpr T & native () noexcept
 

Related Symbols

(Note that these are not member symbols.)

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 NativeTypeasNative (WrapperType *wrapper) noexcept
 
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr const NativeTypeasNative (const WrapperType *wrapper) noexcept
 
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr NativeTypeasNative (WrapperType &wrapper) noexcept
 
template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr const NativeTypeasNative (const WrapperType &wrapper) noexcept
 

Member Typedef Documentation

◆ NativeType

template<typename T >
using opcua::Wrapper< T >::NativeType = T

Definition at line 37 of file wrapper.hpp.

Constructor & Destructor Documentation

◆ Wrapper() [1/3]

template<typename T >
constexpr opcua::Wrapper< T >::Wrapper ( )
constexprdefaultnoexcept

◆ Wrapper() [2/3]

template<typename T >
constexpr opcua::Wrapper< T >::Wrapper ( const T &  native)
inlineexplicitconstexprnoexcept

Copy constructor with native object.

Definition at line 42 of file wrapper.hpp.

◆ Wrapper() [3/3]

template<typename T >
constexpr opcua::Wrapper< T >::Wrapper ( T &&  native)
inlineexplicitconstexprnoexcept

Move constructor with native object.

Definition at line 46 of file wrapper.hpp.

Member Function Documentation

◆ operator=() [1/2]

template<typename T >
constexpr Wrapper & opcua::Wrapper< T >::operator= ( const T &  native)
inlineconstexprnoexcept

Copy assignment with native object.

Definition at line 50 of file wrapper.hpp.

◆ operator=() [2/2]

template<typename T >
constexpr Wrapper & opcua::Wrapper< T >::operator= ( T &&  native)
inlineconstexprnoexcept

Move assignment with native object.

Definition at line 56 of file wrapper.hpp.

◆ operator T&()

template<typename T >
constexpr opcua::Wrapper< T >::operator T& ( )
inlineconstexprnoexcept

Implicit conversion to native object.

Definition at line 62 of file wrapper.hpp.

◆ operator const T &()

template<typename T >
constexpr opcua::Wrapper< T >::operator const T & ( ) const
inlineconstexprnoexcept

Implicit conversion to native object.

Definition at line 67 of file wrapper.hpp.

◆ operator->() [1/2]

template<typename T >
constexpr T * opcua::Wrapper< T >::operator-> ( )
inlineconstexprnoexcept

Member access to native object.

Definition at line 72 of file wrapper.hpp.

◆ operator->() [2/2]

template<typename T >
constexpr const T * opcua::Wrapper< T >::operator-> ( ) const
inlineconstexprnoexcept

Member access to native object.

Definition at line 77 of file wrapper.hpp.

◆ handle() [1/2]

template<typename T >
constexpr T * opcua::Wrapper< T >::handle ( )
inlineconstexprnoexcept

Return pointer to native object.

Definition at line 82 of file wrapper.hpp.

Referenced by opcua::DiagnosticInfo::additionalInfo(), opcua::Variant::array(), opcua::Variant::array(), opcua::Variant::arrayDimensions(), opcua::Variant::arrayLength(), opcua::Variant::data(), opcua::Variant::data(), opcua::ExtensionObject::decodedData(), opcua::ExtensionObject::decodedData(), opcua::ExtensionObject::decodedType(), opcua::Variant::empty(), opcua::ExtensionObject::empty(), opcua::ExtensionObject::encodedBinary(), opcua::ExtensionObject::encodedTypeId(), opcua::ExtensionObject::encodedXml(), opcua::ExtensionObject::encoding(), opcua::ua::EnumValueType::EnumValueType(), opcua::ExpandedNodeId::ExpandedNodeId(), opcua::ExpandedNodeId::ExpandedNodeId(), opcua::ExtensionObject::ExtensionObject(), opcua::ExtensionObject::ExtensionObject(), opcua::DateTime::get(), opcua::ExtensionObject::getEncodedBody(), opcua::DiagnosticInfo::hasAdditionalInfo(), opcua::NodeId::hash(), opcua::ExpandedNodeId::hash(), opcua::DiagnosticInfo::hasInnerDiagnosticInfo(), opcua::DiagnosticInfo::hasInnerStatusCode(), opcua::DiagnosticInfo::hasLocale(), opcua::DiagnosticInfo::hasLocalizedText(), opcua::DiagnosticInfo::hasNamespaceUri(), opcua::DataValue::hasServerPicoseconds(), opcua::DataValue::hasServerTimestamp(), opcua::DataValue::hasSourcePicoseconds(), opcua::DataValue::hasSourceTimestamp(), opcua::DataValue::hasStatus(), opcua::DiagnosticInfo::hasSymbolicId(), opcua::DataValue::hasValue(), opcua::NodeId::identifierIf(), opcua::NodeId::identifierType(), opcua::DiagnosticInfo::innerDiagnosticInfo(), opcua::DiagnosticInfo::innerStatusCode(), opcua::ExtensionObject::isDecoded(), opcua::ExtensionObject::isEncoded(), opcua::ExpandedNodeId::isLocal(), opcua::NodeId::isNull(), opcua::Variant::isScalar(), opcua::Variant::isType(), opcua::Variant::isType(), opcua::LocalizedText::locale(), opcua::DiagnosticInfo::locale(), opcua::DiagnosticInfo::localizedText(), opcua::LocalizedText::LocalizedText(), opcua::QualifiedName::name(), opcua::NodeId::namespaceIndex(), opcua::QualifiedName::namespaceIndex(), opcua::ExpandedNodeId::namespaceUri(), opcua::DiagnosticInfo::namespaceUri(), opcua::ExpandedNodeId::nodeId(), opcua::ExpandedNodeId::nodeId(), opcua::NodeId::NodeId(), opcua::NodeId::NodeId(), opcua::NodeId::NodeId(), opcua::NodeId::NodeId(), opcua::Guid::parse(), opcua::NodeId::parse(), opcua::ExpandedNodeId::parse(), opcua::QualifiedName::QualifiedName(), opcua::Variant::scalar(), opcua::Variant::scalar(), opcua::ExpandedNodeId::serverIndex(), opcua::DataValue::serverPicoseconds(), opcua::DataValue::serverTimestamp(), opcua::DataValue::setServerPicoseconds(), opcua::DataValue::setServerTimestamp(), opcua::DataValue::setSourcePicoseconds(), opcua::DataValue::setSourceTimestamp(), opcua::DataValue::setStatus(), opcua::DataValue::setValue(), opcua::DataValue::setValue(), opcua::DataValue::sourcePicoseconds(), opcua::DataValue::sourceTimestamp(), opcua::DataValue::status(), opcua::DiagnosticInfo::symbolicId(), opcua::LocalizedText::text(), opcua::TypeWrapper< T, Index >::toString(), opcua::Variant::type(), opcua::DataValue::value(), and opcua::DataValue::value().

◆ handle() [2/2]

template<typename T >
constexpr const T * opcua::Wrapper< T >::handle ( ) const
inlineconstexprnoexcept

Return pointer to native object.

Definition at line 87 of file wrapper.hpp.

◆ swap() [1/2]

template<typename T >
constexpr void opcua::Wrapper< T >::swap ( Wrapper< T > &  other)
inlineconstexprnoexcept

Swap with wrapper object.

Definition at line 92 of file wrapper.hpp.

◆ swap() [2/2]

template<typename T >
constexpr void opcua::Wrapper< T >::swap ( T &  native)
inlineconstexprnoexcept

Swap with native object.

Definition at line 97 of file wrapper.hpp.

◆ native() [1/2]

template<typename T >
constexpr const T & opcua::Wrapper< T >::native ( ) const
inlineconstexprprotectednoexcept

◆ native() [2/2]

template<typename T >
constexpr T & opcua::Wrapper< T >::native ( )
inlineconstexprprotectednoexcept

Definition at line 106 of file wrapper.hpp.