System.TPtrWrapper
Delphi
TPtrWrapper = record
C++
struct DECLSPEC_DRECORD TPtrWrapper
{
private:
Byte *Value;
static TPtrWrapper __fastcall GetNilValue();
public:
__fastcall TPtrWrapper(NativeInt AValue)/* overload */;
__fastcall TPtrWrapper(void * AValue)/* overload */;
void * __fastcall ToPointer();
NativeInt __fastcall ToInteger();
/* static */ __property TPtrWrapper NilValue = {read=GetNilValue};
#ifndef _WIN64
static bool __fastcall _op_Equality(TPtrWrapper Left, TPtrWrapper Right);
static bool __fastcall _op_Inequality(TPtrWrapper Left, TPtrWrapper Right);
#else /* _WIN64 */
static bool __fastcall _op_Equality(const TPtrWrapper &Left, const TPtrWrapper &Right);
static bool __fastcall _op_Inequality(const TPtrWrapper &Left, const TPtrWrapper &Right);
#endif /* _WIN64 */
TPtrWrapper() {}
#ifndef _WIN64
friend bool operator ==(TPtrWrapper Left, TPtrWrapper Right) { return TPtrWrapper::_op_Equality(Left, Right); }
friend bool operator !=(TPtrWrapper Left, TPtrWrapper Right) { return TPtrWrapper::_op_Inequality(Left, Right); }
#else /* _WIN64 */
friend bool operator ==(const TPtrWrapper &Left, const TPtrWrapper &Right) { return TPtrWrapper::_op_Equality(Left, Right); }
friend bool operator !=(const TPtrWrapper &Left, const TPtrWrapper &Right) { return TPtrWrapper::_op_Inequality(Left, Right); }
#endif /* _WIN64 */
};
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
record struct |
public | System.pas System.hpp |
System | System |
Description
TPtrWrapper is a pointer-sized value representing a pointer.
TPtrWrapper has the same size as a pointer. It is designed so that it can be used where a pointer would appear in an API declaration, avoiding casting back and forth.
This wrapped pointer is used in the process of marshalling, applied by the low-level TMarshal, and the high-level TMarshaller APIs.