System.Rtti.TValueData

From RAD Studio API Documentation
Jump to: navigation, search

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.

See Also

Retrieved from "https://docwiki.embarcadero.com/Libraries/Tokyo/e/index.php?title=System.Rtti.TValueData&oldid=199327"