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);
147 size_t alignment = 0;
158inline
size_t TypeInfo::GetFieldCount(
void)
165 return this->dataType.
IsEmpty();
180 return this->dataType.
GetSize();
185 this->dataType = arg;
189 return this->dataType;
194 return this->customAttributes;
199 this->typeId = value;
209 return this->dimensions;
214 return this->alignment;
219 this->standardAttributes = value;
224 return this->standardAttributes;
229 this->standardAttributes = this->standardAttributes.
GetValue() | value;
239 size_t cacheSize = 0;
240 cacheSize +=
sizeof(this->dataType);
242 cacheSize +=
sizeof(this->size);
243 cacheSize +=
sizeof(this->alignment);
246 cacheSize += std::accumulate(this->customAttributes.begin(), this->customAttributes.end(),
static_cast<size_t>(0),
249 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:19
Reads data from Rsc
Definition: RscReader.hpp:26
Rsc container class for primitive data type, strings or information about arrays or structs....
Definition: RscVariant.hxx:68
Writes data to Rsc.
Definition: RscWriter.hpp:31
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
The class implements an adapter for enums to define the string literals of the enum entries.
Definition: EnumStrings.hxx:38