8#include "Arp/Plc/Commons/DataTypeEnum.hpp"
9#include "Arp/Plc/Commons/Meta/TypeIdentifier.hpp"
10#include "Arp/Plc/Commons/Meta/ArrayDimension.hpp"
11#include "Arp/Plc/Commons/Meta/ArrayDimensions.hpp"
12#include "Arp/Plc/Commons/Meta/StandardAttributes.hpp"
13#include "Arp/Plc/Commons/Meta/CustomAttribute.hpp"
14#include "Arp/Plc/Commons/Meta/CustomAttributes.hpp"
15#include "Arp/System/Rsc/Services/IRscSerializable.hpp"
19namespace Arp {
namespace Plc {
namespace Commons {
namespace Meta
73 static
size_t GetFieldCount(
void);
148 size_t alignment = 0;
159inline
size_t TypeInfo::GetFieldCount(
void)
166 return this->dataType.
IsEmpty();
181 return this->dataType.
GetSize();
186 this->dataType = arg;
190 return this->dataType;
195 return this->customAttributes;
200 this->typeId = value;
210 return this->dimensions;
215 return this->alignment;
220 this->standardAttributes = value;
225 return this->standardAttributes;
230 this->standardAttributes = this->standardAttributes.
GetValue() | value;
240 size_t cacheSize = 0;
241 cacheSize +=
sizeof(this->dataType);
243 cacheSize +=
sizeof(this->size);
244 cacheSize +=
sizeof(this->alignment);
247 cacheSize += std::accumulate(this->customAttributes.begin(), this->customAttributes.end(),
static_cast<size_t>(0),
250 return result + each.GetCacheSize();
Definition: DataTypeEnum.hpp:16
bool IsEmpty(void) const
True if not set
Definition: DataTypeEnum.hpp:230
size_t GetSize(void) const
Returns the size of the this data type if it could be deduced, otherwise 0
Marshalls structure or class data types. Serialize and Deserialize have to marshal fields in the same...
Definition: IRscSerializable.hpp:20
Reads data from Rsc
Definition: RscReader.hpp:27
Rsc container class for primitive data type, strings or information about arrays or structs....
Definition: RscVariant.hxx:69
Writes data to Rsc.
Definition: RscWriter.hpp:32
DataType
Definition: DataType.hpp:15
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API
class ARP_DEPRECATED("Use Arp::Enum<T> instead.") EnumStrings
Deprecated! The class implements an adapter for enums to define the string literals of the enum entri...
Definition: EnumStrings.hxx:38