open62541pp 0.18.0
C++ wrapper of open62541
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions
Wrapper classes

Detailed Description

All wrapper classes inherit from Wrapper.

Native open62541 objects can be accessed using the Wrapper::handle() member function.

Wrapper types are pointer-interconvertible to the wrapped native type and vice versa:

According to the standard:

‍Two objects a and b are pointer-interconvertible if: One is a standard-layout class object [wrapper] and the other is the first non-static data member of that object [wrapped native type].

Derived classes must fulfill the requirements of standard-layout types to be convertible.

See also
https://en.cppreference.com/w/cpp/language/static_cast#pointer-interconvertible

Classes

class  opcua::DataType
 
class  opcua::StatusCode
 
class  opcua::String
 
class  opcua::DateTime
 
class  opcua::Guid
 
class  opcua::ByteString
 
class  opcua::XmlElement
 
class  opcua::NodeId
 
class  opcua::ExpandedNodeId
 
class  opcua::QualifiedName
 
class  opcua::LocalizedText
 
class  opcua::Variant
 
class  opcua::DataValue
 
class  opcua::ExtensionObject
 
class  opcua::DiagnosticInfo
 
class  opcua::NumericRange
 
class  opcua::TypeWrapper< T, Index >
 
class  opcua::ua::EnumValueType
 
class  opcua::ua::ApplicationDescription
 
class  opcua::ua::RequestHeader
 
class  opcua::ua::ResponseHeader
 
class  opcua::ua::UserTokenPolicy
 
class  opcua::ua::EndpointDescription
 
class  opcua::ua::NodeAttributes
 
class  opcua::ua::ObjectAttributes
 
class  opcua::ua::VariableAttributes
 
class  opcua::ua::MethodAttributes
 
class  opcua::ua::ObjectTypeAttributes
 
class  opcua::ua::VariableTypeAttributes
 
class  opcua::ua::ReferenceTypeAttributes
 
class  opcua::ua::DataTypeAttributes
 
class  opcua::ua::ViewAttributes
 
class  opcua::ua::UserIdentityToken
 
class  opcua::ua::AnonymousIdentityToken
 
class  opcua::ua::UserNameIdentityToken
 
class  opcua::ua::X509IdentityToken
 
class  opcua::ua::IssuedIdentityToken
 
class  opcua::ua::AddNodesItem
 
class  opcua::ua::AddNodesResult
 
class  opcua::ua::AddNodesRequest
 
class  opcua::ua::AddNodesResponse
 
class  opcua::ua::AddReferencesItem
 
class  opcua::ua::AddReferencesRequest
 
class  opcua::ua::AddReferencesResponse
 
class  opcua::ua::DeleteNodesItem
 
class  opcua::ua::DeleteNodesRequest
 
class  opcua::ua::DeleteNodesResponse
 
class  opcua::ua::DeleteReferencesItem
 
class  opcua::ua::DeleteReferencesRequest
 
class  opcua::ua::DeleteReferencesResponse
 
class  opcua::ua::ViewDescription
 
class  opcua::ua::BrowseDescription
 
class  opcua::ua::BrowseRequest
 
class  opcua::ua::ReferenceDescription
 
class  opcua::ua::BrowseResult
 
class  opcua::ua::BrowseResponse
 
class  opcua::ua::BrowseNextRequest
 
class  opcua::ua::BrowseNextResponse
 
class  opcua::ua::RelativePathElement
 
class  opcua::ua::RelativePath
 
class  opcua::ua::BrowsePath
 
class  opcua::ua::BrowsePathTarget
 
class  opcua::ua::BrowsePathResult
 
class  opcua::ua::TranslateBrowsePathsToNodeIdsRequest
 
class  opcua::ua::TranslateBrowsePathsToNodeIdsResponse
 
class  opcua::ua::RegisterNodesRequest
 
class  opcua::ua::RegisterNodesResponse
 
class  opcua::ua::UnregisterNodesRequest
 
class  opcua::ua::UnregisterNodesResponse
 
class  opcua::ua::ReadValueId
 
class  opcua::ua::ReadRequest
 
class  opcua::ua::ReadResponse
 
class  opcua::ua::WriteValue
 
class  opcua::ua::WriteRequest
 
class  opcua::ua::WriteResponse
 
class  opcua::ua::BuildInfo
 
class  opcua::ua::Argument
 
class  opcua::ua::CallMethodRequest
 
class  opcua::ua::CallMethodResult
 
class  opcua::ua::CallRequest
 
class  opcua::ua::CallResponse
 
class  opcua::ua::ElementOperand
 
class  opcua::ua::LiteralOperand
 
class  opcua::ua::AttributeOperand
 
class  opcua::ua::SimpleAttributeOperand
 
class  opcua::ua::ContentFilterElement
 
class  opcua::ua::ContentFilter
 
class  opcua::ua::DataChangeFilter
 
class  opcua::ua::EventFilter
 
class  opcua::ua::AggregateFilter
 
class  opcua::ua::MonitoringParameters
 
class  opcua::ua::MonitoredItemCreateRequest
 
class  opcua::ua::MonitoredItemCreateResult
 
class  opcua::ua::CreateMonitoredItemsRequest
 
class  opcua::ua::CreateMonitoredItemsResponse
 
class  opcua::ua::MonitoredItemModifyRequest
 
class  opcua::ua::MonitoredItemModifyResult
 
class  opcua::ua::ModifyMonitoredItemsRequest
 
class  opcua::ua::ModifyMonitoredItemsResponse
 
class  opcua::ua::SetMonitoringModeRequest
 
class  opcua::ua::SetMonitoringModeResponse
 
class  opcua::ua::SetTriggeringRequest
 
class  opcua::ua::SetTriggeringResponse
 
class  opcua::ua::DeleteMonitoredItemsRequest
 
class  opcua::ua::DeleteMonitoredItemsResponse
 
class  opcua::ua::CreateSubscriptionRequest
 
class  opcua::ua::CreateSubscriptionResponse
 
class  opcua::ua::ModifySubscriptionRequest
 
class  opcua::ua::ModifySubscriptionResponse
 
class  opcua::ua::SetPublishingModeRequest
 
class  opcua::ua::SetPublishingModeResponse
 
class  opcua::ua::StatusChangeNotification
 
class  opcua::ua::DeleteSubscriptionsRequest
 
class  opcua::ua::DeleteSubscriptionsResponse
 
class  opcua::ua::Range
 
class  opcua::ua::EUInformation
 
class  opcua::ua::ComplexNumberType
 
class  opcua::ua::DoubleComplexNumberType
 
class  opcua::ua::AxisInformation
 
class  opcua::ua::XVType
 
class  opcua::ua::StructureField
 
class  opcua::ua::StructureDefinition
 
class  opcua::ua::EnumField
 
class  opcua::ua::EnumDefinition
 
class  opcua::Wrapper< T >
 

Macros

#define UAPP_NODEATTR(Type, suffix, member, flag)
 
#define UAPP_NODEATTR_BITMASK(Type, suffix, member, flag)
 
#define UAPP_NODEATTR_CAST(Type, suffix, member, flag)
 
#define UAPP_NODEATTR_WRAPPER(Type, suffix, member, flag)
 
#define UAPP_NODEATTR_ARRAY(Type, suffix, member, memberSize, flag)
 
#define UAPP_NODEATTR_COMMON
 

Typedefs

using opcua::ua::FilterOperand = std::variant< ElementOperand, LiteralOperand, AttributeOperand, SimpleAttributeOperand, ExtensionObject >
 
using opcua::ua::AggregateConfiguration = UA_AggregateConfiguration
 

Enumerations

enum class  opcua::ua::ApplicationType : int32_t
 
enum class  opcua::ua::MessageSecurityMode : int32_t
 
enum class  opcua::ua::UserTokenType : int32_t
 
enum class  opcua::ua::NodeAttributesMask : uint32_t
 
enum class  opcua::ua::BrowseDirection : int32_t
 
enum class  opcua::ua::BrowseResultMask : uint32_t
 
enum class  opcua::ua::TimestampsToReturn : int32_t
 
enum class  opcua::ua::MonitoringMode : int32_t
 
enum class  opcua::ua::FilterOperator : int32_t
 
enum class  opcua::ua::DataChangeTrigger : int32_t
 
enum class  opcua::ua::DeadbandType : int32_t
 
enum class  opcua::ua::PerformUpdateType : int32_t
 
enum class  opcua::ua::AxisScaleEnumeration : int32_t
 
enum class  opcua::ua::StructureType : int32_t
 

Functions

constexpr std::true_type opcua::ua::isBitmaskEnum (NodeAttributesMask)
 
constexpr std::true_type opcua::ua::isBitmaskEnum (BrowseResultMask)
 
ContentFilter opcua::ua::operator&& (const ContentFilterElement &lhs, const ContentFilter &rhs)
 
ContentFilter opcua::ua::operator&& (const ContentFilter &lhs, const ContentFilterElement &rhs)
 
ContentFilter opcua::ua::operator|| (const ContentFilterElement &lhs, const ContentFilter &rhs)
 
ContentFilter opcua::ua::operator|| (const ContentFilter &lhs, const ContentFilterElement &rhs)
 
template<typename T >
String toString (const T &object, const UA_DataType &type)
 
template<typename T , typename = std::enable_if_t<detail::IsRegistered<T>::value>>
String toString (const T &object)
 
ContentFilter operator! (const ContentFilterElement &filterElement)
 
ContentFilter operator! (const ContentFilter &filter)
 
ContentFilter operator&& (const ContentFilterElement &lhs, const ContentFilterElement &rhs)
 
ContentFilter operator&& (const ContentFilterElement &lhs, const ContentFilter &rhs)
 
ContentFilter operator&& (const ContentFilter &lhs, const ContentFilterElement &rhs)
 
ContentFilter operator&& (const ContentFilter &lhs, const ContentFilter &rhs)
 
ContentFilter operator|| (const ContentFilterElement &lhs, const ContentFilterElement &rhs)
 
ContentFilter operator|| (const ContentFilterElement &lhs, const ContentFilter &rhs)
 
ContentFilter operator|| (const ContentFilter &lhs, const ContentFilterElement &rhs)
 
ContentFilter operator|| (const ContentFilter &lhs, const ContentFilter &rhs)
 
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
 

Macro Definition Documentation

◆ UAPP_NODEATTR

#define UAPP_NODEATTR (   Type,
  suffix,
  member,
  flag 
)
Value:
UAPP_GETTER(Type, get##suffix, member) \
auto& set##suffix(Type member) noexcept { \
handle()->specifiedAttributes |= flag; \
handle()->member = member; \
return *this; \
}
#define UAPP_GETTER(Type, getterName, member)
Definition types.hpp:39

Definition at line 381 of file types.hpp.

◆ UAPP_NODEATTR_BITMASK

#define UAPP_NODEATTR_BITMASK (   Type,
  suffix,
  member,
  flag 
)
Value:
UAPP_GETTER(Type, get##suffix, member) \
auto& set##suffix(Type member) noexcept { \
handle()->specifiedAttributes |= flag; \
handle()->member = member.get(); \
return *this; \
}

Definition at line 388 of file types.hpp.

◆ UAPP_NODEATTR_CAST

#define UAPP_NODEATTR_CAST (   Type,
  suffix,
  member,
  flag 
)
Value:
UAPP_GETTER_CAST(Type, get##suffix, member) \
auto& set##suffix(Type member) noexcept { \
handle()->specifiedAttributes |= flag; \
handle()->member = static_cast<decltype(handle()->member)>(member); \
return *this; \
}
#define UAPP_GETTER_CAST(Type, getterName, member)
Definition types.hpp:49

Definition at line 395 of file types.hpp.

◆ UAPP_NODEATTR_WRAPPER

#define UAPP_NODEATTR_WRAPPER (   Type,
  suffix,
  member,
  flag 
)
Value:
UAPP_GETTER_WRAPPER_CONST(Type, get##suffix, member) \
auto& set##suffix(Type member) { \
handle()->specifiedAttributes |= flag; \
asWrapper<Type>(handle()->member) = std::move(member); \
return *this; \
}
#define UAPP_GETTER_WRAPPER_CONST(Type, getterName, member)
Definition types.hpp:59

Definition at line 402 of file types.hpp.

◆ UAPP_NODEATTR_ARRAY

#define UAPP_NODEATTR_ARRAY (   Type,
  suffix,
  member,
  memberSize,
  flag 
)
Value:
UAPP_GETTER_SPAN(Type, get##suffix, member, memberSize) \
auto& set##suffix(Span<const Type> member) { \
const auto& dataType = opcua::getDataType<Type>(); \
handle()->specifiedAttributes |= flag; \
detail::deallocateArray(handle()->member, handle()->memberSize, dataType); \
handle()->member = detail::copyArray(member.data(), member.size(), dataType); \
handle()->memberSize = member.size(); \
return *this; \
}
#define UAPP_GETTER_SPAN(Type, getterName, memberArray, memberSize)
Definition types.hpp:81

Definition at line 409 of file types.hpp.

◆ UAPP_NODEATTR_COMMON

#define UAPP_NODEATTR_COMMON
Value:
UAPP_GETTER(Bitmask<NodeAttributesMask>, getSpecifiedAttributes, specifiedAttributes) \
UAPP_NODEATTR_WRAPPER( \
LocalizedText, DisplayName, displayName, UA_NODEATTRIBUTESMASK_DISPLAYNAME \
) \
UAPP_NODEATTR_WRAPPER( \
LocalizedText, Description, description, UA_NODEATTRIBUTESMASK_DESCRIPTION \
) \
UAPP_NODEATTR_BITMASK( \
Bitmask<WriteMask>, WriteMask, writeMask, UA_NODEATTRIBUTESMASK_WRITEMASK \
) \
UAPP_NODEATTR_BITMASK( \
Bitmask<WriteMask>, UserWriteMask, userWriteMask, UA_NODEATTRIBUTESMASK_USERWRITEMASK \
)

Definition at line 419 of file types.hpp.

Typedef Documentation

◆ FilterOperand

Filter operand.

The FilterOperand is an extensible parameter and can be of type:

See also
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.7.4

Definition at line 1841 of file types.hpp.

◆ AggregateConfiguration

Definition at line 1980 of file types.hpp.

Enumeration Type Documentation

◆ ApplicationType

enum class opcua::ua::ApplicationType : int32_t
strong

Application type.

See also
UA_ApplicationType
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.4
Enumerator
Server 
Client 
ClientAndServer 
DiscoveryServer 

Definition at line 155 of file types.hpp.

◆ MessageSecurityMode

enum class opcua::ua::MessageSecurityMode : int32_t
strong

Message security mode.

See also
UA_MessageSecurityMode
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.20
Enumerator
Invalid 

Will always be rejected.

None 

No security applied.

Sign 

All messages are signed but not encrypted.

SignAndEncrypt 

All messages are signed and encrypted.

Definition at line 255 of file types.hpp.

◆ UserTokenType

enum class opcua::ua::UserTokenType : int32_t
strong

User identity token type.

See also
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.43
Enumerator
Anonymous 

No token is required.

Username 

A username/password token.

Certificate 

An X.509 v3 certificate token.

IssuedToken 

Any token issued by an authorization service.

Definition at line 268 of file types.hpp.

◆ NodeAttributesMask

enum class opcua::ua::NodeAttributesMask : uint32_t
strong

Node attributes mask.

Bitmask used in the node attributes parameters to specify which attributes are set.

See also
UA_NodeAttributesMask
Enumerator
None 
AccessLevel 
ArrayDimensions 
BrowseName 
ContainsNoLoops 
DataType 
Description 
DisplayName 
EventNotifier 
Executable 
Historizing 
InverseName 
IsAbstract 
MinimumSamplingInterval 
NodeClass 
NodeId 
Symmetric 
UserAccessLevel 
UserExecutable 
UserWriteMask 
ValueRank 
WriteMask 
Value 
DataTypeDefinition 
RolePermissions 
AccessRestrictions 
All 
BaseNode 
Object 
ObjectType 
Variable 
VariableType 
Method 
ReferenceType 
View 

Definition at line 334 of file types.hpp.

◆ BrowseDirection

enum class opcua::ua::BrowseDirection : int32_t
strong

Browse direction.

An enumeration that specifies the direction of references to follow.

See also
UA_BrowseDirection
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.5
Enumerator
Forward 
Inverse 
Both 
Invalid 

Definition at line 1050 of file types.hpp.

◆ BrowseResultMask

enum class opcua::ua::BrowseResultMask : uint32_t
strong

Browse result mask.

The enum can be used as a bitmask and allows bitwise operations, e.g.:

Exposes the possibilities of a client to write the attributes of the node In contrast to the write mask
See also
UA_BrowseResultMask
https://reference.opcfoundation.org/Core/Part4/v105/docs/5.8.2
Enumerator
None 
ReferenceTypeId 
IsForward 
NodeClass 
BrowseName 
DisplayName 
TypeDefinition 
All 
ReferenceTypeInfo 
TargetInfo 

Definition at line 1070 of file types.hpp.

◆ TimestampsToReturn

enum class opcua::ua::TimestampsToReturn : int32_t
strong

Timestamps to return.

See also
UA_TimestampsToReturn
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.40
Enumerator
Source 
Server 
Both 
Neither 
Invalid 

Definition at line 1411 of file types.hpp.

◆ MonitoringMode

enum class opcua::ua::MonitoringMode : int32_t
strong

Monitoring mode.

See also
UA_MonitoringMode
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.23
Enumerator
Disabled 
Sampling 
Reporting 

Definition at line 1696 of file types.hpp.

◆ FilterOperator

enum class opcua::ua::FilterOperator : int32_t
strong

Filter operator.

See also
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.7.3
Enumerator
Equals 
IsNull 
GreaterThan 
LessThan 
GreaterThanOrEqual 
LessThanOrEqual 
Like 
Not 
Between 
InList 
And 
Or 
Cast 
InView 
OfType 
RelatedTo 
BitwiseAnd 
BitwiseOr 

Definition at line 1708 of file types.hpp.

◆ DataChangeTrigger

enum class opcua::ua::DataChangeTrigger : int32_t
strong

Data change trigger.

See also
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.10
Enumerator
Status 
StatusValue 
StatusValueTimestamp 

Definition at line 1921 of file types.hpp.

◆ DeadbandType

enum class opcua::ua::DeadbandType : int32_t
strong

Deadband type.

See also
https://reference.opcfoundation.org/Core/Part4/v105/docs/7.22.2
Enumerator
None 
Absolute 
Percent 

Definition at line 1933 of file types.hpp.

◆ PerformUpdateType

enum class opcua::ua::PerformUpdateType : int32_t
strong

Perform update type for structured data history updates.

See also
UA_PerformUpdateType
https://reference.opcfoundation.org/Core/Part11/v104/docs/6.8.3
Enumerator
Insert 
Replace 
Update 
Remove 

Definition at line 2542 of file types.hpp.

◆ AxisScaleEnumeration

enum class opcua::ua::AxisScaleEnumeration : int32_t
strong

Axis scale.

See also
https://reference.opcfoundation.org/Core/Part8/v105/docs/5.6.7
Enumerator
Linear 
Log 
Ln 

Definition at line 2637 of file types.hpp.

◆ StructureType

enum class opcua::ua::StructureType : int32_t
strong

Structure type.

See also
https://reference.opcfoundation.org/Core/Part3/v105/docs/8.49
Enumerator
Structure 
StructureWithOptionalFields 
Union 

Definition at line 2700 of file types.hpp.

Function Documentation

◆ isBitmaskEnum() [1/2]

constexpr std::true_type opcua::ua::isBitmaskEnum ( NodeAttributesMask  )
constexpr

◆ isBitmaskEnum() [2/2]

constexpr std::true_type opcua::ua::isBitmaskEnum ( BrowseResultMask  )
constexpr

◆ operator&&() [1/6]

ContentFilter operator&& ( const ContentFilterElement lhs,
const ContentFilter rhs 
)

◆ operator&&() [2/6]

ContentFilter operator&& ( const ContentFilter lhs,
const ContentFilterElement rhs 
)

◆ operator||() [1/6]

ContentFilter operator|| ( const ContentFilterElement lhs,
const ContentFilter rhs 
)

◆ operator||() [2/6]

ContentFilter operator|| ( const ContentFilter lhs,
const ContentFilterElement rhs 
)

◆ toString() [1/2]

template<typename T >
String toString ( const T &  object,
const UA_DataType type 
)
related

Converts an object to its string representation.

This function wraps UA_print to generate a string representation of the given object, based on its data type description.

Note
Requires open62541 v1.2 or later. The open62541 library must be compiled with the UA_ENABLE_TYPEDESCRIPTION option. If these conditions are not met, the function returns an empty String.
Parameters
objectNative or wrapper object.
typeData type of object.

Definition at line 2560 of file types.hpp.

◆ toString() [2/2]

template<typename T , typename = std::enable_if_t<detail::IsRegistered<T>::value>>
String toString ( const T &  object)
related

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 2574 of file types.hpp.

◆ operator!() [1/2]

ContentFilter operator! ( const ContentFilterElement filterElement)
related

◆ operator!() [2/2]

ContentFilter operator! ( const ContentFilter filter)
related

◆ operator&&() [3/6]

ContentFilter operator&& ( const ContentFilterElement lhs,
const ContentFilterElement rhs 
)
related

◆ operator&&() [4/6]

ContentFilter operator&& ( const ContentFilterElement lhs,
const ContentFilter rhs 
)
related

◆ operator&&() [5/6]

ContentFilter operator&& ( const ContentFilter lhs,
const ContentFilterElement rhs 
)
related

◆ operator&&() [6/6]

ContentFilter operator&& ( const ContentFilter lhs,
const ContentFilter rhs 
)
related

◆ operator||() [3/6]

ContentFilter operator|| ( const ContentFilterElement lhs,
const ContentFilterElement rhs 
)
related

◆ operator||() [4/6]

ContentFilter operator|| ( const ContentFilterElement lhs,
const ContentFilter rhs 
)
related

◆ operator||() [5/6]

ContentFilter operator|| ( const ContentFilter lhs,
const ContentFilterElement rhs 
)
related

◆ operator||() [6/6]

ContentFilter operator|| ( const ContentFilter lhs,
const ContentFilter rhs 
)
related

◆ asWrapper() [1/4]

template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr WrapperType * asWrapper ( NativeType native)
related

Cast native object pointers to Wrapper object pointers.

This is especially helpful to avoid copies in getter methods of composed types.

See also
https://github.com/open62541pp/open62541pp/issues/30

Definition at line 190 of file wrapper.hpp.

◆ asWrapper() [2/4]

template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr const WrapperType * asWrapper ( const NativeType native)
related

Cast native object pointers to Wrapper object pointers.

This is especially helpful to avoid copies in getter methods of composed types.

See also
https://github.com/open62541pp/open62541pp/issues/30

Definition at line 197 of file wrapper.hpp.

◆ asWrapper() [3/4]

template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr WrapperType & asWrapper ( NativeType native)
related

Cast native object references to Wrapper object references.

This is especially helpful to avoid copies in getter methods of composed types.

See also
https://github.com/open62541pp/open62541pp/issues/30

Definition at line 205 of file wrapper.hpp.

◆ asWrapper() [4/4]

template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr const WrapperType & asWrapper ( const NativeType native)
related

Cast native object references to Wrapper object references.

This is especially helpful to avoid copies in getter methods of composed types.

See also
https://github.com/open62541pp/open62541pp/issues/30

Definition at line 212 of file wrapper.hpp.

◆ asNative() [1/4]

template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr NativeType * asNative ( WrapperType *  wrapper)
related

Cast Wrapper object pointers to native object pointers.

Definition at line 220 of file wrapper.hpp.

◆ asNative() [2/4]

template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr const NativeType * asNative ( const WrapperType *  wrapper)
related

Cast Wrapper object pointers to native object pointers.

Definition at line 227 of file wrapper.hpp.

◆ asNative() [3/4]

template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr NativeType & asNative ( WrapperType &  wrapper)
related

Cast Wrapper object references to native object references.

Definition at line 235 of file wrapper.hpp.

◆ asNative() [4/4]

template<typename WrapperType , typename NativeType = typename WrapperType::NativeType>
constexpr const NativeType & asNative ( const WrapperType &  wrapper)
related

Cast Wrapper object references to native object references.

Definition at line 242 of file wrapper.hpp.