43#ifndef LASS_GUARDIAN_OF_INCLUSION_UTIL_CALL_TRAITS_H
44#define LASS_GUARDIAN_OF_INCLUSION_UTIL_CALL_TRAITS_H
57 typedef T
const & TParam;
58 typedef T
const & TConstReference;
59 typedef T & TReference;
63struct CallTraits<T const>
65 typedef T
const TValue;
66 typedef T
const & TParam;
67 typedef T
const & TConstReference;
68 typedef T
const & TReference;
76 typedef T
const & TConstReference;
77 typedef T & TReference;
81struct CallTraits<T const &>
83 typedef T
const & TValue;
84 typedef T
const & TParam;
85 typedef T
const & TConstReference;
86 typedef T
const & TReference;
94 typedef T *
const & TConstReference;
95 typedef T * & TReference;
99struct CallTraits<T const *>
101 typedef T
const * TValue;
102 typedef T
const * TParam;
103 typedef T
const *
const & TConstReference;
104 typedef T
const * & TReference;
107template <
typename T,
int N>
108struct CallTraits<T [N]>
112 typedef T *
const & TConstReference;
113 typedef T * & TReference;
116template <
typename T,
int N>
117struct CallTraits<T const [N]>
119 typedef T
const * TValue;
120 typedef T
const * TParam;
121 typedef T
const *
const & TConstReference;
122 typedef T
const * & TReference;
125#define LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(T)\
126 template <> struct CallTraits<T>\
130 typedef T const & TConstReference;\
131 typedef T & TReference;\
133 template <> struct CallTraits<T const>\
135 typedef T const TValue;\
136 typedef T const TParam;\
137 typedef T const & TConstReference;\
138 typedef T const & TReference;\
142LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
char)
143LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
unsigned char)
144LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
signed char)
145LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
unsigned short)
146LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
signed short)
147LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
unsigned int)
148LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
signed int)
149LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
unsigned long)
150LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
signed long)
151LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
float)
152LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
double)
153LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
long double)
154LASS_UTIL_CALL_TRAITS_FUNDAMENTAL(
bool)
general utility, debug facilities, ...
Library for Assembled Shared Sources.