Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
_meta_arr.h
Go to the documentation of this file.
1
30#ifndef _RWSTD_RW_META_ARR_H_INCLUDED
31#define _RWSTD_RW_META_ARR_H_INCLUDED
32
33#include <rw/_defs.h>
34
36
37template <class _TypeT>
38struct __rw_remove_extent
39{
40 typedef _TypeT type;
41};
42
43template <class _TypeT, _RWSTD_SIZE_T _Size>
44struct __rw_remove_extent<_TypeT [_Size]>
45{
46 typedef _TypeT type;
47};
48
49#if !defined (__IBMCPP__) || (900 < __IBMCPP__)
50
51template <class _TypeT>
52struct __rw_remove_extent<_TypeT []>
53{
54 typedef _TypeT type;
55};
56
57#endif
58
59#define _RWSTD_REMOVE_EXTENT(T) _RW::__rw_remove_extent<T>::type
60
61template <class _TypeT>
62struct __rw_remove_all_extents
63{
64 typedef _TypeT type;
65};
66
67template <class _TypeT, _RWSTD_SIZE_T _Size>
68struct __rw_remove_all_extents<_TypeT [_Size]>
69{
70 typedef typename __rw_remove_all_extents<_TypeT>::type type;
71};
72
73#if !defined (__IBMCPP__) || (900 < __IBMCPP__)
74
75template <class _TypeT>
76struct __rw_remove_all_extents<_TypeT []>
77{
78 typedef typename __rw_remove_all_extents<_TypeT>::type type;
79};
80
81#endif
82
83#define _RWSTD_REMOVE_ALL_EXTENTS(T) _RW::__rw_remove_all_extents<T>::type
84
85} // namespace __rw
86
87
88#endif // _RWSTD_RW_META_ARR_H_INCLUDED
89
#define _RWSTD_NAMESPACE(name)
Definition _defs.h:567