PLCnext API Documentation 25.0.2.69
Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
Arp::Plc::Commons::Meta::DataInfo Class Reference

Provides detailed informations for the respective data object. More...

#include <DataInfo.hpp>

Inheritance diagram for Arp::Plc::Commons::Meta::DataInfo:
Inheritance graph

Public Member Functions

 DataInfo (void)=default
 Constructs an DataInfo instance.
 
 DataInfo (const DataInfo &arg)=default
 Copy constructor.
 
 DataInfo (DataInfo &&arg)=default
 Move constructor.
 
 DataInfo (const DataTag &dataTag)
 Constructs an DataInfo instance.
 
 DataInfo (const DataTag &dataTag, const ArrayDimension &arrayDimension)
 Constructs an DataInfo instance.
 
 DataInfo (const DataTag &dataTag, const ArrayDimensions &arrayDimensions)
 Constructs an DataInfo instance.
 
DataInfooperator= (const DataInfo &arg)=default
 Copy assignment operator.
 
DataInfooperator= (DataInfo &&arg)=default
 Move assignment operator
 
 ~DataInfo (void)=default
 Destructs this instance and frees all resources.
 
bool IsEmpty (void) const
 Determines if this instance is empty. More...
 
DataTypeEnumGetDataType (void)
 The data type of this instance. More...
 
const DataTypeEnumGetDataType (void) const
 
DataTagGetDataTag (void)
 Gets the DataTag . More...
 
const DataTagGetDataTag (void) const
 
TypeIdentifierGetTypeIdentifier (void)
 Get type name and namspace. More...
 
const TypeIdentifierGetTypeIdentifier (void) const
 
ArrayDimensionsGetArrayDimensions (void)
 List of array dimensions information More...
 
const ArrayDimensionsGetArrayDimensions (void) const
 List of array dimensions information More...
 
bool IsBackgroundDomain (void) const
 Only for internal using. More...
 
size_t GetTypeSize (ITypeNavigator &typeNavigator) const
 Deprecated! Determines the size of the base data type More...
 
size_t GetBaseDataTypeSize (ITypeNavigator &typeNavigator) const
 Determines the size of the base data type More...
 
size_t GetDataSize (ITypeNavigator &typeNavigator) const
 Determines the size of the data type More...
 
size_t GetDataAlignment (ITypeNavigator &typeNavigator) const
 Determines the alignment of the data More...
 
size_t GetVariableSize (ITypeNavigator &typeNavigator) const
 Determines the size of the pointer or data type More...
 
size_t GetVariableAlignment (ITypeNavigator &typeNavigator) const
 Determines the alignment of the pointer oder data More...
 
TypeInfo GetTypeInfo (ITypeNavigator &typeNavigator) const
 Gets the TypeInfo of this object's type More...
 
void Serialize (RscWriter &writer) const
 
void Deserialize (RscReader &reader)
 
- Public Member Functions inherited from Arp::Base::Rsc::Commons::RscSerializable
 RscSerializable (void)=default
 The default constructor.
 

Static Public Member Functions

static size_t GetFieldCount (void)
 

Static Public Attributes

static const DataInfo Empty
 constant empty object to enable references
 

Friends

class Arp::Plc::Meta::Internal::DataBrowser
 

Detailed Description

Provides detailed informations for the respective data object.

Member Function Documentation

◆ GetArrayDimensions() [1/2]

ArrayDimensions & Arp::Plc::Commons::Meta::DataInfo::GetArrayDimensions ( void  )

List of array dimensions information

Returns
Dimensions object.

◆ GetArrayDimensions() [2/2]

const ArrayDimensions & Arp::Plc::Commons::Meta::DataInfo::GetArrayDimensions ( void  ) const

List of array dimensions information

Returns
Dimensions object.

◆ GetBaseDataTypeSize()

size_t Arp::Plc::Commons::Meta::DataInfo::GetBaseDataTypeSize ( ITypeNavigator typeNavigator) const

Determines the size of the base data type

Parameters
typeNavigatorITypeNavigator to query additional type information from
Returns
size of the base data type

If this object is a pointer, the result is valid for the dereferenced data type!

◆ GetDataAlignment()

size_t Arp::Plc::Commons::Meta::DataInfo::GetDataAlignment ( ITypeNavigator typeNavigator) const

Determines the alignment of the data

Parameters
typeNavigatorITypeNavigator to query additional type information from
Returns
alignment of the data

If this object is a pointer, the result is valid for the dereferenced data type!

◆ GetDataSize()

size_t Arp::Plc::Commons::Meta::DataInfo::GetDataSize ( ITypeNavigator typeNavigator) const

Determines the size of the data type

Parameters
typeNavigatorITypeNavigator to query additional type information from
Returns
size of the data type

Equals base data size times array dimensions. If this object is a pointer, the result is valid for the dereferenced data type!

◆ GetDataTag()

const DataTag & Arp::Plc::Commons::Meta::DataInfo::GetDataTag ( void  )

Gets the DataTag .

Returns
DataTag.

◆ GetDataType()

const DataTypeEnum & Arp::Plc::Commons::Meta::DataInfo::GetDataType ( void  )

The data type of this instance.

Returns
DataType.

◆ GetTypeIdentifier()

const TypeIdentifier & Arp::Plc::Commons::Meta::DataInfo::GetTypeIdentifier ( void  )

Get type name and namspace.

Returns
TypeIdentifier object.

◆ GetTypeInfo()

TypeInfo Arp::Plc::Commons::Meta::DataInfo::GetTypeInfo ( ITypeNavigator typeNavigator) const

Gets the TypeInfo of this object's type

Parameters
typeNavigatorITypeNavigator to query additional type information from
Returns
TypeInfo

◆ GetTypeSize()

size_t Arp::Plc::Commons::Meta::DataInfo::GetTypeSize ( ITypeNavigator typeNavigator) const

Deprecated! Determines the size of the base data type

Parameters
typeNavigatorITypeNavigator to query additional type information from
Returns
size of the base data type

This function is deperecated. Use GetBaseDataTypeSize

If this object is a pointer, the result is valid for the dereferenced data type!

Deprecated:
Use GetBaseDataTypeSize instead

◆ GetVariableAlignment()

size_t Arp::Plc::Commons::Meta::DataInfo::GetVariableAlignment ( ITypeNavigator typeNavigator) const

Determines the alignment of the pointer oder data

Parameters
typeNavigatorITypeNavigator to query additional type information from
Returns
alignment of the pointer or data

If this object is a pointer, the result is valid for the pointer! If this object is not a pointer it equals GetDataAlignment

◆ GetVariableSize()

size_t Arp::Plc::Commons::Meta::DataInfo::GetVariableSize ( ITypeNavigator typeNavigator) const

Determines the size of the pointer or data type

Parameters
typeNavigatorITypeNavigator to query additional type information from
Returns
size of the pointer or data type

If this object is a pointer, the result is valid for the pointer! If this object is not a pointer it equals GetDataSize

◆ IsBackgroundDomain()

bool Arp::Plc::Commons::Meta::DataInfo::IsBackgroundDomain ( void  ) const

Only for internal using.

Returns
true if this instance relates to the background domain, otherwise false.

◆ IsEmpty()

bool Arp::Plc::Commons::Meta::DataInfo::IsEmpty ( void  ) const

Determines if this instance is empty.

Returns
true if this instance is empty, otherwiese false.

The documentation for this class was generated from the following files: