ReactOS 0.4.15-dev-8428-g6910fa6
TypeTraitsTest Class Reference
Inheritance diagram for TypeTraitsTest:
Collaboration diagram for TypeTraitsTest:

Protected Member Functions

void manips ()
 
void integer ()
 
void rational ()
 
void pointer_type ()
 
void reference_type ()
 
void both_pointer_type ()
 
void ok_to_use_memcpy ()
 
void ok_to_use_memmove ()
 
void trivial_destructor ()
 
void is_POD ()
 
void stlport_class ()
 

Private Member Functions

 CPPUNIT_TEST_SUITE (TypeTraitsTest)
 
 CPPUNIT_TEST (manips)
 
 CPPUNIT_TEST (integer)
 
 CPPUNIT_TEST (rational)
 
 CPPUNIT_TEST (pointer_type)
 
 CPPUNIT_TEST (reference_type)
 
 CPPUNIT_TEST (both_pointer_type)
 
 CPPUNIT_TEST (ok_to_use_memcpy)
 
 CPPUNIT_TEST (ok_to_use_memmove)
 
 CPPUNIT_TEST (trivial_destructor)
 
 CPPUNIT_TEST (is_POD)
 
 CPPUNIT_TEST (stlport_class)
 
 CPPUNIT_TEST_SUITE_END ()
 

Private Attributes

 CPPUNIT_IGNORE
 

Detailed Description

Definition at line 14 of file type_traits_test.cpp.

Member Function Documentation

◆ both_pointer_type()

void TypeTraitsTest::both_pointer_type ( )
protected

Definition at line 418 of file type_traits_test.cpp.

419{
420#if defined (STLPORT)
421 CPPUNIT_CHECK( are_both_pointer_type(int_val, int_val) == 0 );
422 CPPUNIT_CHECK( are_both_pointer_type(int_pointer, int_pointer) == 1 );
423 CPPUNIT_CHECK( are_both_pointer_type(int_const_pointer, int_const_pointer) == 1 );
424 CPPUNIT_CHECK( are_both_pointer_type(int_volatile_pointer, int_volatile_pointer) == 1 );
425 CPPUNIT_CHECK( are_both_pointer_type(int_const_volatile_pointer, int_const_volatile_pointer) == 1 );
426 CPPUNIT_CHECK( are_both_pointer_type(int_ref, int_ref) == 0 );
427 CPPUNIT_CHECK( are_both_pointer_type(int_const_ref, int_const_ref) == 0 );
428 CPPUNIT_CHECK( are_both_pointer_type(any, any) == 0 );
429 CPPUNIT_CHECK( are_both_pointer_type(any_pointer, any_pointer) == 1 );
430#endif
431}
#define CPPUNIT_CHECK(X)
Definition: cppunit_mini.h:195

◆ CPPUNIT_TEST() [1/11]

TypeTraitsTest::CPPUNIT_TEST ( both_pointer_type  )
private

◆ CPPUNIT_TEST() [2/11]

TypeTraitsTest::CPPUNIT_TEST ( integer  )
private

◆ CPPUNIT_TEST() [3/11]

TypeTraitsTest::CPPUNIT_TEST ( is_POD  )
private

◆ CPPUNIT_TEST() [4/11]

TypeTraitsTest::CPPUNIT_TEST ( manips  )
private

◆ CPPUNIT_TEST() [5/11]

TypeTraitsTest::CPPUNIT_TEST ( ok_to_use_memcpy  )
private

◆ CPPUNIT_TEST() [6/11]

TypeTraitsTest::CPPUNIT_TEST ( ok_to_use_memmove  )
private

◆ CPPUNIT_TEST() [7/11]

TypeTraitsTest::CPPUNIT_TEST ( pointer_type  )
private

◆ CPPUNIT_TEST() [8/11]

TypeTraitsTest::CPPUNIT_TEST ( rational  )
private

◆ CPPUNIT_TEST() [9/11]

TypeTraitsTest::CPPUNIT_TEST ( reference_type  )
private

◆ CPPUNIT_TEST() [10/11]

TypeTraitsTest::CPPUNIT_TEST ( stlport_class  )
private

◆ CPPUNIT_TEST() [11/11]

TypeTraitsTest::CPPUNIT_TEST ( trivial_destructor  )
private

◆ CPPUNIT_TEST_SUITE()

TypeTraitsTest::CPPUNIT_TEST_SUITE ( TypeTraitsTest  )
private

◆ CPPUNIT_TEST_SUITE_END()

TypeTraitsTest::CPPUNIT_TEST_SUITE_END ( )
private

◆ integer()

void TypeTraitsTest::integer ( )
protected

Definition at line 291 of file type_traits_test.cpp.

292{
293#if defined (STLPORT)
294 CPPUNIT_ASSERT( is_integer(bool()) == 1 );
295 CPPUNIT_ASSERT( is_integer(char()) == 1 );
296 typedef signed char signed_char;
297 CPPUNIT_ASSERT( is_integer(signed_char()) == 1 );
298 typedef unsigned char unsigned_char;
299 CPPUNIT_ASSERT( is_integer(unsigned_char()) == 1 );
300# if defined (_STLP_HAS_WCHAR_T)
301 CPPUNIT_ASSERT( is_integer(wchar_t()) == 1 );
302# endif
303 CPPUNIT_ASSERT( is_integer(short()) == 1 );
304 typedef unsigned short unsigned_short;
305 CPPUNIT_ASSERT( is_integer(unsigned_short()) == 1 );
306 CPPUNIT_ASSERT( is_integer(int()) == 1 );
307 typedef unsigned int unsigned_int;
308 CPPUNIT_ASSERT( is_integer(unsigned_int()) == 1 );
309 CPPUNIT_ASSERT( is_integer(long()) == 1 );
310 typedef unsigned long unsigned_long;
311 CPPUNIT_ASSERT( is_integer(unsigned_long()) == 1 );
312# if defined (_STLP_LONG_LONG)
313 typedef _STLP_LONG_LONG long_long;
314 CPPUNIT_ASSERT( is_integer(long_long()) == 1 );
315 typedef unsigned _STLP_LONG_LONG unsigned_long_long;
316 CPPUNIT_ASSERT( is_integer(unsigned_long_long()) == 1 );
317# endif
318 CPPUNIT_ASSERT( is_integer(float()) == 0 );
319 CPPUNIT_ASSERT( is_integer(double()) == 0 );
320# if !defined ( _STLP_NO_LONG_DOUBLE )
321 typedef long double long_double;
322 CPPUNIT_ASSERT( is_integer(long_double()) == 0 );
323# endif
324 CPPUNIT_ASSERT( is_integer(any) == 0 );
325 CPPUNIT_ASSERT( is_integer(any_pointer) == 0 );
326#endif
327}
#define _STLP_LONG_LONG
Definition: _apcc.h:12
#define CPPUNIT_ASSERT(X)
Definition: cppunit_mini.h:200
static BOOL is_integer(parse_buffer *buf)
Definition: parsing.c:571

◆ is_POD()

void TypeTraitsTest::is_POD ( )
protected

Definition at line 556 of file type_traits_test.cpp.

557{
558#if defined (STLPORT)
559 CPPUNIT_CHECK( is_POD_type(int_pointer) == 1 );
560 CPPUNIT_CHECK( is_POD_type(int_const_pointer) == 1 );
561 CPPUNIT_CHECK( is_POD_type(int_volatile_pointer) == 1 );
562 CPPUNIT_CHECK( is_POD_type(int_const_volatile_pointer) == 1 );
563 CPPUNIT_CHECK( is_POD_type(any_pointer) == 1 );
564 CPPUNIT_CHECK( is_POD_type(any) == 0 );
565 CPPUNIT_CHECK( is_POD_type(any_pointer) == 1 );
566 CPPUNIT_CHECK( is_POD_type(any_pod) == 1 );
567 CPPUNIT_CHECK( is_POD_type(string()) == 0 );
568#endif
569}

◆ manips()

void TypeTraitsTest::manips ( )
protected

Definition at line 161 of file type_traits_test.cpp.

162{
163#if defined (STLPORT)
164 {
165 typedef __bool2type<0>::_Ret _ZeroRet;
166 CPPUNIT_ASSERT( type_to_value(_ZeroRet()) == 0 );
167 typedef __bool2type<1>::_Ret _OneRet;
168 CPPUNIT_ASSERT( type_to_value(_OneRet()) == 1 );
169 typedef __bool2type<65456873>::_Ret _AnyRet;
170 CPPUNIT_ASSERT( type_to_value(_AnyRet()) == 1 );
171 }
172
173 {
177 }
178
179 {
180 typedef _Not<__true_type>::_Ret _NotTrueRet;
181 CPPUNIT_ASSERT( type_to_value(_NotTrueRet()) == 0 );
182 typedef _Not<__false_type>::_Ret _NotFalseRet;
183 CPPUNIT_ASSERT( type_to_value(_NotFalseRet()) == 1 );
184 }
185
186 {
187 typedef _Land2<__true_type, __true_type>::_Ret _TrueTrueRet;
188 CPPUNIT_ASSERT( type_to_value(_TrueTrueRet()) == 1 );
189 typedef _Land2<__true_type, __false_type>::_Ret _TrueFalseRet;
190 CPPUNIT_ASSERT( type_to_value(_TrueFalseRet()) == 0 );
191 typedef _Land2<__false_type, __true_type>::_Ret _FalseTrueRet;
192 CPPUNIT_ASSERT( type_to_value(_FalseTrueRet()) == 0 );
193 typedef _Land2<__false_type, __false_type>::_Ret _FalseFalseRet;
194 CPPUNIT_ASSERT( type_to_value(_FalseFalseRet()) == 0 );
195 }
196
197 {
199 CPPUNIT_ASSERT( type_to_value(_TrueTrueTrueRet()) == 1 );
201 CPPUNIT_ASSERT( type_to_value(_TrueTrueFalseRet()) == 0 );
203 CPPUNIT_ASSERT( type_to_value(_TrueFalseTrueRet()) == 0 );
205 CPPUNIT_ASSERT( type_to_value(_TrueFalseFalseRet()) == 0 );
207 CPPUNIT_ASSERT( type_to_value(_FalseTrueTrueRet()) == 0 );
209 CPPUNIT_ASSERT( type_to_value(_FalseTrueFalseRet()) == 0 );
211 CPPUNIT_ASSERT( type_to_value(_FalseFalseTrueRet()) == 0 );
213 CPPUNIT_ASSERT( type_to_value(_FalseFalseFalseRet()) == 0 );
214 }
215
216 {
217 typedef _Lor2<__true_type, __true_type>::_Ret _TrueTrueRet;
218 CPPUNIT_ASSERT( type_to_value(_TrueTrueRet()) == 1 );
219 typedef _Lor2<__true_type, __false_type>::_Ret _TrueFalseRet;
220 CPPUNIT_ASSERT( type_to_value(_TrueFalseRet()) == 1 );
221 typedef _Lor2<__false_type, __true_type>::_Ret _FalseTrueRet;
222 CPPUNIT_ASSERT( type_to_value(_FalseTrueRet()) == 1 );
223 typedef _Lor2<__false_type, __false_type>::_Ret _FalseFalseRet;
224 CPPUNIT_ASSERT( type_to_value(_FalseFalseRet()) == 0 );
225 }
226
227 {
229 CPPUNIT_ASSERT( type_to_value(_TrueTrueTrueRet()) == 1 );
231 CPPUNIT_ASSERT( type_to_value(_TrueTrueFalseRet()) == 1 );
233 CPPUNIT_ASSERT( type_to_value(_TrueFalseTrueRet()) == 1 );
235 CPPUNIT_ASSERT( type_to_value(_TrueFalseFalseRet()) == 1 );
237 CPPUNIT_ASSERT( type_to_value(_FalseTrueTrueRet()) == 1 );
239 CPPUNIT_ASSERT( type_to_value(_FalseTrueFalseRet()) == 1 );
241 CPPUNIT_ASSERT( type_to_value(_FalseFalseTrueRet()) == 1 );
243 CPPUNIT_ASSERT( type_to_value(_FalseFalseFalseRet()) == 0 );
244 }
245
246 {
247 typedef __select<1, __true_type, __false_type>::_Ret _SelectFirstRet;
248 CPPUNIT_ASSERT( type_to_value(_SelectFirstRet()) == 1 );
249 typedef __select<0, __true_type, __false_type>::_Ret _SelectSecondRet;
250 CPPUNIT_ASSERT( type_to_value(_SelectSecondRet()) == 0 );
251# if defined (__BORLANDC__)
252 typedef __selectT<__true_type, __true_type, __false_type>::_Ret _SelectFirstRet;
253 CPPUNIT_ASSERT( type_to_value(_SelectFirstRet()) == 1 );
254 typedef __selectT<__false_type, __true_type, __false_type>::_Ret _SelectSecondRet;
255 CPPUNIT_ASSERT( type_to_value(_SelectSecondRet()) == 0 );
256# endif
257 }
258
259 {
260 base b;
261 derived d;
262 const derived cd = d;
263 base *pb = &b;
264 derived *pd = &d;
265 derived const *pcd = pd;
266 CPPUNIT_CHECK( is_convertible(any, b) == 0 );
267 CPPUNIT_CHECK( is_convertible(d, b) == 1 );
268 CPPUNIT_CHECK( is_convertible(cd, b) == 1 );
269 // _IsCVConvertible only needs to work for pointer type:
270 //CPPUNIT_CHECK( is_cv_convertible(d, b) == 1 );
271 //CPPUNIT_CHECK( is_cv_convertible(cd, b) == 0 );
272
273 //_IsConvertible do not need to work for pointers:
274 //CPPUNIT_CHECK( is_convertible(pd, pb) == 1 );
275 //CPPUNIT_CHECK( is_convertible(pcd, pb) == 1 );
276
277 CPPUNIT_CHECK( is_cv_convertible(pd, pb) == 1 );
278 CPPUNIT_CHECK( is_cv_convertible(pcd, pb) == 0 );
279 }
280#endif
281}
InitDirComponents & cd
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
#define d
Definition: ke_i.h:81
#define b
Definition: ke_i.h:79
_Tp2 _Ret
Definition: type_manips.h:150

◆ ok_to_use_memcpy()

void TypeTraitsTest::ok_to_use_memcpy ( )
protected

Definition at line 440 of file type_traits_test.cpp.

441{
442#if defined (STLPORT) && !defined (_STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS)
443 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_pointer, int_pointer) == 1 );
444 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_const_pointer, int_pointer) == 1 );
445 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_pointer, int_volatile_pointer) == 0 );
446 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_pointer, int_const_volatile_pointer) == 0 );
447 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_const_pointer, int_const_pointer) == 0 );
448 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_const_pointer, int_volatile_pointer) == 0 );
449 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_const_pointer, int_const_volatile_pointer) == 0 );
450 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_const_volatile_pointer, int_const_volatile_pointer) == 0 );
451 CPPUNIT_CHECK( is_ok_to_use_memcpy(int_pointer, any_pointer) == 0 );
452 CPPUNIT_CHECK( is_ok_to_use_memcpy(any_pointer, int_pointer) == 0 );
453 CPPUNIT_CHECK( is_ok_to_use_memcpy(any_pointer, any_pointer) == 0 );
454 CPPUNIT_CHECK( is_ok_to_use_memcpy(any_pointer, any_const_pointer) == 0 );
455 CPPUNIT_CHECK( is_ok_to_use_memcpy(any_pod_pointer, int_pointer) == 0 );
456 CPPUNIT_CHECK( is_ok_to_use_memcpy(any_pod_pointer, any_pod_pointer) == 1 );
457 CPPUNIT_CHECK( is_ok_to_use_memcpy(any_pod_pointer, any_pod_const_pointer) == 0 );
458 vector<float> **pvf = 0;
459 vector<int> **pvi = 0;
460 CPPUNIT_CHECK( is_ok_to_use_memcpy(pvf, pvi) == 0 );
461 CPPUNIT_CHECK( is_ok_to_use_memcpy(pvi, pvf) == 0 );
462#endif
463}

◆ ok_to_use_memmove()

void TypeTraitsTest::ok_to_use_memmove ( )
protected

Definition at line 472 of file type_traits_test.cpp.

473{
474#if defined (STLPORT) && !defined (_STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS)
475 CPPUNIT_CHECK( is_ok_to_use_memmove(int_pointer, int_pointer) == 1 );
476 CPPUNIT_CHECK( is_ok_to_use_memmove(int_const_pointer, int_pointer) == 1 );
477 CPPUNIT_CHECK( is_ok_to_use_memmove(int_pointer, int_volatile_pointer) == 0 );
478 CPPUNIT_CHECK( is_ok_to_use_memmove(int_pointer, int_const_volatile_pointer) == 0 );
479 CPPUNIT_CHECK( is_ok_to_use_memmove(int_const_pointer, int_const_pointer) == 0 );
480 CPPUNIT_CHECK( is_ok_to_use_memmove(int_const_pointer, int_volatile_pointer) == 0 );
481 CPPUNIT_CHECK( is_ok_to_use_memmove(int_const_pointer, int_const_volatile_pointer) == 0 );
482 CPPUNIT_CHECK( is_ok_to_use_memmove(int_const_volatile_pointer, int_const_volatile_pointer) == 0 );
483 CPPUNIT_CHECK( is_ok_to_use_memmove(int_pointer, any_pointer) == 0 );
484 CPPUNIT_CHECK( is_ok_to_use_memmove(any_pointer, int_pointer) == 0 );
485 CPPUNIT_CHECK( is_ok_to_use_memmove(any_pointer, any_pointer) == 0 );
486 CPPUNIT_CHECK( is_ok_to_use_memmove(any_pointer, any_const_pointer) == 0 );
487 CPPUNIT_CHECK( is_ok_to_use_memmove(any_pod_pointer, int_pointer) == 0 );
488 CPPUNIT_CHECK( is_ok_to_use_memmove(any_pod_pointer, any_pod_pointer) == 1 );
489 CPPUNIT_CHECK( is_ok_to_use_memmove(any_pod_pointer, any_pod_const_pointer) == 0 );
490#endif
491}

◆ pointer_type()

void TypeTraitsTest::pointer_type ( )
protected

Definition at line 382 of file type_traits_test.cpp.

383{
384#if defined (STLPORT)
385 CPPUNIT_ASSERT( is_pointer_type(int_val) == 0 );
386 CPPUNIT_ASSERT( is_pointer_type(int_pointer) == 1 );
387 CPPUNIT_ASSERT( is_pointer_type(int_const_pointer) == 1 );
388 CPPUNIT_ASSERT( is_pointer_type(int_volatile_pointer) == 1 );
389 CPPUNIT_ASSERT( is_pointer_type(int_const_volatile_pointer) == 1 );
390 CPPUNIT_ASSERT( is_pointer_type(int_ref) == 0 );
391 CPPUNIT_ASSERT( is_pointer_type(int_const_ref) == 0 );
392 CPPUNIT_ASSERT( is_pointer_type(any) == 0 );
393 CPPUNIT_ASSERT( is_pointer_type(any_pointer) == 1 );
394#endif
395}

◆ rational()

void TypeTraitsTest::rational ( )
protected

Definition at line 337 of file type_traits_test.cpp.

338{
339#if defined (STLPORT)
340 CPPUNIT_ASSERT( is_rational(bool()) == 0 );
341 CPPUNIT_ASSERT( is_rational(char()) == 0 );
342 typedef signed char signed_char;
343 CPPUNIT_ASSERT( is_rational(signed_char()) == 0 );
344 typedef unsigned char unsigned_char;
345 CPPUNIT_ASSERT( is_rational(unsigned_char()) == 0 );
346# if defined (_STLP_HAS_WCHAR_T)
347 CPPUNIT_ASSERT( is_rational(wchar_t()) == 0 );
348# endif
349 CPPUNIT_ASSERT( is_rational(short()) == 0 );
350 typedef unsigned short unsigned_short;
351 CPPUNIT_ASSERT( is_rational(unsigned_short()) == 0 );
352 CPPUNIT_ASSERT( is_rational(int()) == 0 );
353 typedef unsigned int unsigned_int;
354 CPPUNIT_ASSERT( is_rational(unsigned_int()) == 0 );
355 CPPUNIT_ASSERT( is_rational(long()) == 0 );
356 typedef unsigned long unsigned_long;
357 CPPUNIT_ASSERT( is_rational(unsigned_long()) == 0 );
358# if defined (_STLP_LONG_LONG)
359 typedef _STLP_LONG_LONG long_long;
360 CPPUNIT_ASSERT( is_rational(long_long()) == 0 );
361 typedef unsigned _STLP_LONG_LONG unsigned_long_long;
362 CPPUNIT_ASSERT( is_rational(unsigned_long_long()) == 0 );
363# endif
364 CPPUNIT_ASSERT( is_rational(float()) == 1 );
365 CPPUNIT_ASSERT( is_rational(double()) == 1 );
366# if !defined ( _STLP_NO_LONG_DOUBLE )
367 typedef long double long_double;
368 CPPUNIT_ASSERT( is_rational(long_double()) == 1 );
369# endif
370 CPPUNIT_ASSERT( is_rational(any) == 0 );
371 CPPUNIT_ASSERT( is_rational(any_pointer) == 0 );
372#endif
373}

◆ reference_type()

void TypeTraitsTest::reference_type ( )
protected

Definition at line 397 of file type_traits_test.cpp.

398{
399#if defined (STLPORT) && defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
400 CPPUNIT_ASSERT( type_to_value(_IsRefType<int>::_Ret()) == 0 );
401 CPPUNIT_ASSERT( type_to_value(_IsRefType<int*>::_Ret()) == 0 );
402 CPPUNIT_ASSERT( type_to_value(_IsRefType<int&>::_Ret()) == 1 );
403 CPPUNIT_ASSERT( type_to_value(_IsRefType<int const&>::_Ret()) == 1 );
405
406 CPPUNIT_ASSERT( type_to_value(_IsOKToSwap(int_pointer, int_pointer, __true_type(), __true_type())._Answer()) == 1 );
407 CPPUNIT_ASSERT( type_to_value(_IsOKToSwap(int_pointer, int_pointer, __false_type(), __false_type())._Answer()) == 0 );
408#endif
409}
_OKToSwap< _Tp1, _Tp2, _IsRef1, _IsRef2 > _IsOKToSwap(_Tp1 *, _Tp2 *, const _IsRef1 &, const _IsRef2 &)
Definition: type_traits.h:497

◆ stlport_class()

void TypeTraitsTest::stlport_class ( )
protected

Definition at line 584 of file type_traits_test.cpp.

585{
586#if defined (STLPORT)
587 CPPUNIT_CHECK( is_stlport_class(allocator<char>()) == 1 );
588# if defined (_STLP_USE_PARTIAL_SPEC_WORKAROUND)
589 CPPUNIT_CHECK( is_stlport_class(string()) == 1 );
590# endif
591 CPPUNIT_CHECK( is_stlport_class(any) == 0 );
592#endif
593}

◆ trivial_destructor()

void TypeTraitsTest::trivial_destructor ( )
protected

Definition at line 526 of file type_traits_test.cpp.

527{
528#if defined (STLPORT)
529 CPPUNIT_CHECK( has_trivial_destructor(int_pointer) == 1 );
530 CPPUNIT_CHECK( has_trivial_destructor(int_const_pointer) == 1 );
531 CPPUNIT_CHECK( has_trivial_destructor(int_volatile_pointer) == 1 );
532 CPPUNIT_CHECK( has_trivial_destructor(int_const_volatile_pointer) == 1 );
533 CPPUNIT_CHECK( has_trivial_destructor(any_pointer) == 1 );
534 CPPUNIT_CHECK( has_trivial_destructor(any) == 0 );
535 CPPUNIT_CHECK( has_trivial_destructor(any_pointer) == 1 );
536 CPPUNIT_CHECK( has_trivial_destructor(any_pod) == 1 );
537 CPPUNIT_CHECK( has_trivial_destructor(string()) == 0 );
538
539 //Check of the meta information impact in a container implementation
540 {
542 DestructorMonitor::nb_destructor_call = 0;
543 }
544 CPPUNIT_CHECK( DestructorMonitor::nb_destructor_call == 0 );
545#endif
546}
const GLdouble * v
Definition: gl.h:2040

Member Data Documentation

◆ CPPUNIT_IGNORE

TypeTraitsTest::CPPUNIT_IGNORE
private

Definition at line 18 of file type_traits_test.cpp.


The documentation for this class was generated from the following file: