Declaration |
Top Previous Next |
New features since Delphi 7 > Generics > Declaration The following code demonstrated the conversion of a generic Delphi type to C++.
type TPair<TKey,TValue> = class // declares TPair type with two type parameters
private FKey: TKey; FValue: TValue; public function GetKey: TKey; procedure SetKey(key: TKey); function GetValue: TValue; procedure SetValue(Value: TValue); property key: TKey Read GetKey Write SetKey; property Value: TValue Read GetValue Write SetValue; end;
type TSIPair = TPair<String,Integer>; // declares instantiated type TSSPair = TPair<String,String>; // declares with other data types TISPair = TPair<Integer,String>; TIIPair = TPair<Integer,Integer>; TSXPair = TPair<String,TXMLNode>;
implementation
function TPair<TKey,TValue>.GetValue: TValue; begin Result := FValue; end;
->
// declares TPair type with two type parameters template<typename TKey, typename TValue> class TPair : public System::TObject { public: typedef System::TObject inherited; private: TKey FKey; TValue FValue; public: TKey GetKey() const; void SetKey(TKey key); TValue GetValue() const; void SetValue(TValue Value); /*property key : TKey read GetKey write SetKey;*/ TKey ReadPropertykey() const { return GetKey();} void WritePropertykey(TKey key){SetKey(key);} /*property Value : TValue read GetValue write SetValue;*/ TValue ReadPropertyValue() const { return GetValue();} void WritePropertyValue(TValue Value){SetValue(Value);} TPair() {} }; typedef TPair<System::String, int> TSIPair; // declares instantiated type typedef TPair<System::String, System::String> TSSPair; // declares with other data types typedef TPair<int, System::String> TISPair; typedef TPair<int, int> TIIPair; typedef TPair<System::String, TXMLNode> TSXPair;
template<typename TKey, typename TValue> TValue TPair<TKey, TValue>::GetValue() const { TValue result; result = FValue; return result; }
|
This page belongs to the Delphi2Cpp Documentation |
Delphi2Cpp home Content |