System.Rtti.TValueData
Delphi
TValueData = record
FTypeInfo: PTypeInfo;
FValueData: IValueData;
case Integer of
0: (FAsUByte: Byte);
1: (FAsUWord: Word);
2: (FAsULong: Cardinal);
3: (FAsObject: Pointer);
4: (FAsClass: TClass);
5: (FAsSByte: ShortInt);
6: (FAsSWord: SmallInt);
7: (FAsSLong: Integer);
8: (FAsSingle: Single);
9: (FAsDouble: Double);
10: (FAsExtended: Extended);
11: (FAsComp: Comp);
12: (FAsCurr: Currency);
13: (FAsUInt64: UInt64);
14: (FAsSInt64: Int64);
15: (FAsMethod: TMethod);
16: (FAsPointer: Pointer);
end;
C++
struct DECLSPEC_DRECORD TValueData
{
public:
System::Typinfo::TTypeInfo *FTypeInfo;
_di_IValueData FValueData;
public:
union
{
struct
{
void *FAsPointer;
};
struct
{
System::TMethod FAsMethod;
};
struct
{
__int64 FAsSInt64;
};
struct
{
unsigned __int64 FAsUInt64;
};
struct
{
System::CurrencyBase FAsCurr;
};
struct
{
System::CompBase FAsComp;
};
struct
{
System::Extended FAsExtended;
};
struct
{
double FAsDouble;
};
struct
{
float FAsSingle;
};
struct
{
int FAsSLong;
};
struct
{
short FAsSWord;
};
struct
{
System::Int8 FAsSByte;
};
struct
{
System::TClass FAsClass;
};
struct
{
void *FAsObject;
};
struct
{
unsigned FAsULong;
};
struct
{
System::Word FAsUWord;
};
struct
{
System::Byte FAsUByte;
};
};
};
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
record struct |
public | System.Rtti.pas System.Rtti.hpp |
System.Rtti | System.Rtti |
Description
Represents a storage structure for a multitude of types.
TValueData is used internally in the TValue type. The main purpose of TValueData is to store different kinds of values in an optimized way.