C++ TargetRTS
Loading...
Searching...
No Matches
RTPointer.h
1/*
2 * Licensed Materials - Property of HCL and/or IBM
3 * Copyright HCL Technologies Ltd. 2016, 2021. All Rights Reserved.
4 * Copyright IBM Corporation 1999, 2016. All Rights Reserved.
5 *
6 * U.S. Government Users Restricted Rights - Use, duplication or
7 * disclosure restricted by GSA ADP Schedule.
8 */
9
10#ifndef __RTPointer_h__
11#define __RTPointer_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTByteBlock_h__
18#include <RTByteBlock.h>
19#endif
20
21class RTPointer : public RTByteBlock
22{
23public:
24 explicit RTPointer( void * value = nullptr );
25 RTPointer( const RTPointer & );
26 virtual ~RTPointer( void );
27
28 RTPointer & operator=( void * );
29 RTPointer & operator=( const RTPointer & );
30
31 virtual int operator==( const RTDataObject & ) const override;
32
33 virtual const RTObject_class * getClassData( void ) const override;
34 static const RTObject_class classData;
35
36#define RTType_RTPointer ( RTPointer::classData )
37};
38
40{
41 const void * data;
42 const RTObject_class * type;
43
44 RTS_INLINE RTTypedValue_RTPointer( const RTPointer & ); //lint !e1931
45 RTS_INLINE RTTypedValue_RTPointer( const RTPointer &,
46 const RTObject_class * );
47}; //lint !e1712
48
49#if RTS_INLINES
50#include <RTPointer.inl>
51#endif
52
53#endif // __RTPointer_h__
Definition: RTByteBlock.h:22
Provides a common interface to certain data type implementations (e.g.
Definition: RTDataObject.h:33
Definition: RTPointer.h:22
A type descriptor providing information about a type.
Definition: RTObject_class.h:64
Definition: RTPointer.h:40