PLCnext API Documentation  22.9.0.33
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. More...
 
 DataInfo (const DataInfo &arg)=default
 Copy constructor. More...
 
 DataInfo (DataInfo &&arg)=default
 Move constructor. More...
 
 DataInfo (const DataTag &dataTag)
 Constructs an DataInfo instance. More...
 
 DataInfo (const DataTag &dataTag, const ArrayDimension &arrayDimension)
 Constructs an DataInfo instance. More...
 
 DataInfo (const DataTag &dataTag, const ArrayDimensions &arrayDimensions)
 Constructs an DataInfo instance. More...
 
DataInfooperator= (const DataInfo &arg)=default
 Copy assignment operator. More...
 
DataInfooperator= (DataInfo &&arg)=default
 Move assignment operator More...
 
 ~DataInfo (void) override=default
 Destructs this instance and frees all resources. More...
 
bool IsEmpty (void) const
 Determines if this instance is empty. More...
 
DataTypeEnumGetDataType (void)
 The data type of this instance. More...
 
const DataTypeEnumGetDataType (void) const
 The data type of this instance. More...
 
DataTagGetDataTag (void)
 Gets the DataTag . More...
 
const DataTagGetDataTag (void) const
 Gets the DataTag . More...
 
TypeIdentifierGetTypeIdentifier (void)
 Get type name and namspace. More...
 
const TypeIdentifierGetTypeIdentifier (void) const
 Get type name and namspace. More...
 
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
 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 override
 Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter. More...
 
void Deserialize (RscReader &reader) override
 Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader. More...
 
- Public Member Functions inherited from Arp::System::Rsc::Services::IRscSerializable
virtual ~IRscSerializable ()=default
 default destructor More...
 

Static Public Member Functions

static size_t GetFieldCount (void)
 
- Static Public Member Functions inherited from Arp::System::Rsc::Services::IRscSerializable
static size_t GetFieldCount (void)
 Returns the count of fields of the struct type More...
 

Static Public Attributes

static const DataInfo Empty
 constant empty object to enable references More...
 

Friends

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

Detailed Description

Provides detailed informations for the respective data object.

Constructor & Destructor Documentation

◆ DataInfo() [1/6]

Arp::Plc::Commons::Meta::DataInfo::DataInfo ( void  )
default

Constructs an DataInfo instance.

◆ DataInfo() [2/6]

Arp::Plc::Commons::Meta::DataInfo::DataInfo ( const DataInfo arg)
default

Copy constructor.

◆ DataInfo() [3/6]

Arp::Plc::Commons::Meta::DataInfo::DataInfo ( DataInfo &&  arg)
default

Move constructor.

◆ DataInfo() [4/6]

Arp::Plc::Commons::Meta::DataInfo::DataInfo ( const DataTag dataTag)

Constructs an DataInfo instance.

◆ DataInfo() [5/6]

Arp::Plc::Commons::Meta::DataInfo::DataInfo ( const DataTag dataTag,
const ArrayDimension arrayDimension 
)

Constructs an DataInfo instance.

◆ DataInfo() [6/6]

Arp::Plc::Commons::Meta::DataInfo::DataInfo ( const DataTag dataTag,
const ArrayDimensions arrayDimensions 
)

Constructs an DataInfo instance.

◆ ~DataInfo()

Arp::Plc::Commons::Meta::DataInfo::~DataInfo ( void  )
overridedefault

Destructs this instance and frees all resources.

Member Function Documentation

◆ Deserialize()

void Arp::Plc::Commons::Meta::DataInfo::Deserialize ( RscReader reader)
overridevirtual

Deserializes the datatype. All fields of the datatype have to be deserialized in use of RscReader.

Parameters
readerReference to RscReader.

Implements Arp::System::Rsc::Services::IRscSerializable.

◆ GetArrayDimensions() [1/2]

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

List of array dimensions information

Returns
Dimensions object.

◆ GetArrayDimensions() [2/2]

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

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() [1/2]

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

Gets the DataTag .

Returns
DataTag.

◆ GetDataTag() [2/2]

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

Gets the DataTag .

Returns
DataTag.

◆ GetDataType() [1/2]

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

The data type of this instance.

Returns
DataType.

◆ GetDataType() [2/2]

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

The data type of this instance.

Returns
DataType.

◆ GetTypeIdentifier() [1/2]

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

Get type name and namspace.

Returns
TypeIdentifier object.

◆ GetTypeIdentifier() [2/2]

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

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

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!

◆ 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
inline

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
inline

Determines if this instance is empty.

Returns
true if this instance is empty, otherwiese false.

◆ operator=() [1/2]

DataInfo& Arp::Plc::Commons::Meta::DataInfo::operator= ( const DataInfo arg)
default

Copy assignment operator.

◆ operator=() [2/2]

DataInfo& Arp::Plc::Commons::Meta::DataInfo::operator= ( DataInfo &&  arg)
default

Move assignment operator

◆ Serialize()

void Arp::Plc::Commons::Meta::DataInfo::Serialize ( RscWriter writer) const
overridevirtual

Serializes the datatype. All fields of the datatype have to be serialized in use of RscWriter.

Parameters
writerReference to RscWriter

Implements Arp::System::Rsc::Services::IRscSerializable.

Member Data Documentation

◆ Empty

const DataInfo Arp::Plc::Commons::Meta::DataInfo::Empty
static

constant empty object to enable references


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