First public contribution.
1 /***************************************************************************
3 * any.h - definition of the rw_any_t class
5 * $Id: any.h 290028 2005-09-19 00:25:26Z sebor $
7 ***************************************************************************
9 * Copyright (c) 1994-2005 Quovadx, Inc., acting through its Rogue Wave
10 * Software division. Licensed under the Apache License, Version 2.0 (the
11 * "License"); you may not use this file except in compliance with the
12 * License. You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0. Unless required by
14 * applicable law or agreed to in writing, software distributed under
15 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
16 * CONDITIONS OF ANY KIND, either express or implied. See the License
17 * for the specific language governing permissions and limitations under
20 **************************************************************************/
22 #ifndef RW_ANY_H_INCLUDED
23 #define RW_ANY_H_INCLUDED
29 #endif //__SYMBIAN32__
35 #ifndef _RWSTD_NO_BOOL
36 _TEST_EXPORT rw_any_t (bool);
37 #endif // _RWSTD_NO_BOOL
39 _TEST_EXPORT rw_any_t (char);
40 _TEST_EXPORT rw_any_t (signed char);
41 _TEST_EXPORT rw_any_t (unsigned char);
43 _TEST_EXPORT rw_any_t (signed short);
44 _TEST_EXPORT rw_any_t (unsigned short);
46 _TEST_EXPORT rw_any_t (signed int);
47 _TEST_EXPORT rw_any_t (unsigned int);
49 _TEST_EXPORT rw_any_t (signed long);
50 _TEST_EXPORT rw_any_t (unsigned long);
52 #ifdef _RWSTD_LONG_LONG
53 _TEST_EXPORT rw_any_t (signed _RWSTD_LONG_LONG);
54 _TEST_EXPORT rw_any_t (unsigned _RWSTD_LONG_LONG);
55 #endif // _RWSTD_LONG_LONG
57 _TEST_EXPORT rw_any_t (float);
58 _TEST_EXPORT rw_any_t (double);
60 #ifndef _RWSTD_NO_LONG_DOUBLE
61 _TEST_EXPORT rw_any_t (long double);
62 #endif // _RWSTD_NO_LONG_DOUBLE
64 _TEST_EXPORT rw_any_t (const void*);
65 _TEST_EXPORT rw_any_t (const char*);
67 #ifndef _RWSTD_NO_NATIVE_WCHAR_T
68 _TEST_EXPORT rw_any_t (wchar_t);
69 #endif // _RWSTD_NO_NATIVE_WCHAR_T
71 #ifndef _RWSTD_NO_WCHAR_T
72 _TEST_EXPORT rw_any_t (const wchar_t*);
73 #endif // _RWSTD_NO_WCHAR_T
75 _TEST_EXPORT rw_any_t (const rw_any_t&);
77 _TEST_EXPORT ~rw_any_t ();
79 _TEST_EXPORT rw_any_t& operator= (const rw_any_t&);
81 _TEST_EXPORT const char* tostr (const char* = 0);
82 _TEST_EXPORT const char* type_name () const;
86 t_bool, t_schar, t_uchar, t_char,
87 t_sshrt, t_ushrt, t_sint, t_uint, t_slong, t_ulong,
100 #ifndef _RWSTD_NO_LONG_DOUBLE
102 #endif // _RWSTD_NO_LONG_DOUBLE
105 #ifdef _RWSTD_LONG_LONG
106 signed _RWSTD_LONG_LONG sllong_;
107 unsigned _RWSTD_LONG_LONG ullong_;
108 #endif // _RWSTD_LONG_LONG
110 #ifndef _RWSTD_NO_NATIVE_WCHAR_T
112 #endif // _RWSTD_NO_NATIVE_WCHAR_T
114 unsigned long ulong_;
118 unsigned short ushrt_;
120 unsigned char uchar_;
122 #ifndef _RWSTD_NO_BOOL
124 #endif // _RWSTD_NO_BOOL
132 #define TOSTR(x) rw_any_t (x).tostr ()
135 #endif // RW_ANY_H_INCLUDED