8#include "Arp/Plc/Commons/DataType.hpp"
9#include "Arp/Plc/Commons/Meta/ArrayDimensions.hpp"
10#include "Arp/Plc/Commons/Meta/TypeIdentifier.hpp"
11#include "Arp/Plc/Commons/Meta/TypeInfo.hpp"
15namespace Arp {
namespace Plc {
namespace Commons {
namespace Meta
26 ChildInfo(
void) =
default;
28 ChildInfo(
size_t offset,
DataType dataType,
const ArrayDimensions& dimensions = ArrayDimensions());
30 ChildInfo(
size_t offset,
DataType dataType,
const TypeIdentifier& typeId,
const ArrayDimensions& dimensions = ArrayDimensions());
33 static const ChildInfo
Empty;
36 static ChildInfo
Create(
size_t offset,
const TypeInfo& typeInfo);
39 bool IsEmpty(
void)
const;
40 size_t GetOffset(
void)
const;
42 const ArrayDimensions& GetArrayDimensions(
void)
const;
43 const TypeIdentifier& GetTypeIdentifier(
void)
const;
50 size_t offset =
static_cast<size_t>(-1);
52 ArrayDimensions dimensions;
53 TypeIdentifier typeId;
58inline bool ChildInfo::IsEmpty()
const
63inline size_t ChildInfo::GetOffset()
const
68inline DataType ChildInfo::GetDataType()
const
70 return this->dataType;
73inline const ArrayDimensions& ChildInfo::GetArrayDimensions()
const
75 return this->dimensions;
78inline const TypeIdentifier& ChildInfo::GetTypeIdentifier()
const
83inline ChildInfo ChildInfo::Create(
size_t offset,
const TypeInfo& typeInfo)
85#pragma warning( push )
86#pragma warning( disable : 4996 )
87#pragma warning( disable : 4068 )
88#pragma GCC diagnostic push
89#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
91 return ChildInfo(offset, typeInfo.GetDataType(), typeInfo.GetTypeIdentifier(), typeInfo.GetArrayDimensions());
93#pragma GCC diagnostic pop
DataType
Definition: DataType.hpp:15
@ None
summary>Unspecified.
@ Empty
No sink assigned to session yet.
@ Create
Creates a new file. If the file already exists, it is overwritten.
Root namespace for the PLCnext API