Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Main Page
Related Pages
Topics
Namespaces
Data Structures
Files
File List
Globals
EXTERNAL_HEADERS
RSL
tests
include
rw_any.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
30
#ifndef RW_ANY_H_INCLUDED
31
#define RW_ANY_H_INCLUDED
32
33
34
#include <
rw_testdefs.h
>
35
36
37
class
_TEST_EXPORT
rw_any_t
38
{
39
public
:
40
41
#ifndef _RWSTD_NO_BOOL
42
rw_any_t
(
bool
);
43
#endif
// _RWSTD_NO_BOOL
44
45
rw_any_t
(
char
);
46
rw_any_t
(
signed
char
);
47
rw_any_t
(
unsigned
char
);
48
49
rw_any_t
(
signed
short
);
50
rw_any_t
(
unsigned
short
);
51
52
rw_any_t
(
signed
int
);
53
rw_any_t
(
unsigned
int
);
54
55
rw_any_t
(
signed
long
);
56
rw_any_t
(
unsigned
long
);
57
58
#ifdef _RWSTD_LONG_LONG
59
rw_any_t
(
signed
_RWSTD_LONG_LONG
);
60
rw_any_t
(
unsigned
_RWSTD_LONG_LONG
);
61
#endif
// _RWSTD_LONG_LONG
62
63
rw_any_t
(
float
);
64
rw_any_t
(
double
);
65
66
#ifndef _RWSTD_NO_LONG_DOUBLE
67
rw_any_t
(
long
double
);
68
#endif
// _RWSTD_NO_LONG_DOUBLE
69
70
rw_any_t
(
void
*);
71
rw_any_t
(
volatile
void
*);
72
rw_any_t
(
const
void
*);
73
rw_any_t
(
const
volatile
void
*);
74
75
rw_any_t
(
char
*);
76
rw_any_t
(
const
char
*);
77
rw_any_t
(
volatile
char
*);
78
rw_any_t
(
const
volatile
char
*);
79
80
#ifndef _RWSTD_NO_NATIVE_WCHAR_T
81
rw_any_t
(
wchar_t
);
82
#endif
// _RWSTD_NO_NATIVE_WCHAR_T
83
84
#ifndef _RWSTD_NO_WCHAR_T
85
rw_any_t
(
wchar_t
*);
86
rw_any_t
(
const
wchar_t
*);
87
rw_any_t
(
volatile
wchar_t
*);
88
rw_any_t
(
const
volatile
wchar_t
*);
89
#endif
// _RWSTD_NO_WCHAR_T
90
91
rw_any_t
(
const
rw_any_t
&);
92
93
~rw_any_t
();
94
95
rw_any_t
& operator= (
const
rw_any_t
&);
96
97
const
char
* tostr (
const
char
* = 0);
98
const
char
*
type_name
()
const
;
99
100
enum
type_id_t
{
101
t_none
,
102
t_bool
, t_schar, t_uchar, t_char,
103
t_sshrt, t_ushrt,
t_sint
, t_uint, t_slong, t_ulong,
104
t_sllong
, t_ullong,
105
t_flt,
t_dbl
, t_ldbl,
106
t_wchar
,
107
t_pvoid,
t_c_pvoid
, t_v_pvoid, t_cv_pvoid,
108
t_str,
t_c_str
, t_v_str, t_cv_str,
109
t_wstr,
t_c_wstr
, t_v_wstr, t_cv_wstr
110
};
111
112
private
:
113
114
union
uval_t {
115
116
#ifndef _RWSTD_NO_LONG_DOUBLE
117
long
double
ldbl_;
118
#endif
// _RWSTD_NO_LONG_DOUBLE
119
const
volatile
void
*pvoid_;
120
double
dbl_;
121
#ifdef _RWSTD_LONG_LONG
122
signed
_RWSTD_LONG_LONG
sllong_;
123
unsigned
_RWSTD_LONG_LONG
ullong_;
124
#endif
// _RWSTD_LONG_LONG
125
float
flt_;
126
#ifndef _RWSTD_NO_NATIVE_WCHAR_T
127
wchar_t
wchar_;
128
#endif
// _RWSTD_NO_NATIVE_WCHAR_T
129
signed
long
slong_;
130
unsigned
long
ulong_;
131
signed
int
sint_;
132
unsigned
int
uint_;
133
signed
short
sshrt_;
134
unsigned
short
ushrt_;
135
signed
char
schar_;
136
unsigned
char
uchar_;
137
char
char_;
138
#ifndef _RWSTD_NO_BOOL
139
bool
bool_;
140
#endif
// _RWSTD_NO_BOOL
141
} val_;
142
143
char
*str_;
144
type_id_t tid_;
145
};
146
147
148
#define TOSTR(x) rw_any_t (x).tostr ()
149
150
151
#endif
// RW_ANY_H_INCLUDED
type_name
const char * type_name()
_RWSTD_LONG_LONG
#define _RWSTD_LONG_LONG
Definition
_config-msvcrt.h:93
rw_any_t
Definition
rw_any.h:38
rw_any_t::rw_any_t
rw_any_t(wchar_t)
rw_any_t::type_id_t
type_id_t
Definition
rw_any.h:100
rw_any_t::t_dbl
@ t_dbl
Definition
rw_any.h:105
rw_any_t::t_c_str
@ t_c_str
Definition
rw_any.h:108
rw_any_t::t_sint
@ t_sint
Definition
rw_any.h:103
rw_any_t::t_c_wstr
@ t_c_wstr
Definition
rw_any.h:109
rw_any_t::t_c_pvoid
@ t_c_pvoid
Definition
rw_any.h:107
rw_any_t::t_sllong
@ t_sllong
Definition
rw_any.h:104
rw_any_t::t_bool
@ t_bool
Definition
rw_any.h:102
rw_any_t::t_wchar
@ t_wchar
Definition
rw_any.h:106
rw_any_t::t_none
@ t_none
Definition
rw_any.h:101
rw_testdefs.h
_TEST_EXPORT
#define _TEST_EXPORT
Definition
rw_testdefs.h:55
Generated by
1.9.8