C++ TargetRTS
Loading...
Searching...
No Matches
RTByteBlock.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 __RTByteBlock_h__
11#define __RTByteBlock_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTDataObject_h__
18#include <RTDataObject.h>
19#endif
20
22{
23public:
24 int length;
25 char * Contents;
26
27 RTByteBlock( void );
28 RTByteBlock( int size,
29 const void * contents );
30 RTByteBlock( const RTByteBlock & );
31 virtual ~RTByteBlock( void );
32
33 RTByteBlock & operator=( const RTByteBlock & );
34
35 RTS_INLINE operator void * ( void );
36 RTS_INLINE operator const void * ( void ) const;
37
38 virtual int operator==( const RTDataObject & ) const override;
39
40 virtual const RTObject_class * getClassData( void ) const override;
41 static const RTObject_class classData;
42
43#define RTType_RTByteBlock ( RTByteBlock::classData )
44};
45
47{
48 const void * data;
49 const RTObject_class * type;
50
51 RTS_INLINE RTTypedValue_RTByteBlock( const RTByteBlock & ); //lint !e1931
52 RTS_INLINE RTTypedValue_RTByteBlock( const RTByteBlock &,
53 const RTObject_class * );
54}; //lint !e1712
55
56#if RTS_INLINES
57#include <RTByteBlock.inl>
58#endif
59
60#endif // __RTByteBlock_h__
Definition: RTByteBlock.h:22
Provides a common interface to certain data type implementations (e.g.
Definition: RTDataObject.h:33
A type descriptor providing information about a type.
Definition: RTObject_class.h:64
Definition: RTByteBlock.h:47