System.Rtti.TValueData
From RAD Studio API Documentation
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.