C++ TargetRTS
Loading...
Searching...
No Matches
RTTypedValue.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 __RTTypedValue_h__
11#define __RTTypedValue_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#ifndef __RTConfig_h__
18#include <RTConfig.h>
19#endif
20
21class RTDataObject;
22struct RTObject_class;
23
24// It is common to make temporaries of this struct.
25//lint -esym(1901,RTTypedValue)
26
29{
31 const void * data;
32
35
37 RTS_INLINE RTTypedValue( const void * data = nullptr,
38 const RTObject_class * type = nullptr ); //lint !e1931
39
41 RTS_INLINE RTTypedValue( const RTDataObject & ); //lint !e1931
42
43 RTS_INLINE RTTypedValue( const RTTypedValue & );
44};
45
46#if RTS_INLINES
47#include <RTTypedValue.inl>
48#endif
49
50// Overloaded functions yielding basic descriptors:
51extern RTTypedValue new_RTTypedValue( bool const & );
52extern RTTypedValue new_RTTypedValue( char const & );
53#if RTUseFloatingPoint
54extern RTTypedValue new_RTTypedValue( double const & );
55extern RTTypedValue new_RTTypedValue( float const & );
56#endif
57extern RTTypedValue new_RTTypedValue( int const & );
58extern RTTypedValue new_RTTypedValue( long const & );
59extern RTTypedValue new_RTTypedValue( short const & );
60extern RTTypedValue new_RTTypedValue( const void * const & );
61extern RTTypedValue new_RTTypedValue( const char * const & );
62
63#endif // __RTTypedValue_h__
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
Encapsulates a data object and its type descriptor.
Definition: RTTypedValue.h:29
const RTObject_class * type
Type descriptor for the data object.
Definition: RTTypedValue.h:34
const void * data
Data object.
Definition: RTTypedValue.h:31