Show
Ignore:
Timestamp:
12/03/07 15:48:13 (1 year ago)
Author:
cneumann
Message:

fixed: compile errors

reference counting


It compiles on linux (when disabling the VRML Loader) and the first
ref counting tests seem to work.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/Carsten_PtrWork2/Source/Base/Base/OSGBaseFunctions.h

    r873 r1030  
    647647 
    648648/*---------------------------------------------------------------------*/ 
     649/*  EvalSwitch                                                       */ 
     650 
     651/* 1 Case Statement ---------------------------------------------------*/ 
     652 
     653template <bool CondB0, class MetaFuncT0, class MetaFuncDefaultT> 
     654struct EvalSwitch1; 
     655 
     656template <class MetaFuncT0, class MetaFuncDefaultT> 
     657struct EvalSwitch1<true, MetaFuncT0, MetaFuncDefaultT> 
     658    : public MetaFuncT0 
     659{ 
     660}; 
     661 
     662template <class MetaFuncT0, class MetaFuncDefaultT> 
     663struct EvalSwitch1<false, MetaFuncT0, MetaFuncDefaultT>  
     664    : public MetaFuncDefaultT 
     665{ 
     666}; 
     667 
     668/* 2 Case Statements --------------------------------------------------*/ 
     669 
     670template <bool CondB0, class MetaFuncT0, 
     671          bool CondB1, class MetaFuncT1, class MetaFuncDefaultT> 
     672struct EvalSwitch2; 
     673 
     674template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> 
     675struct EvalSwitch2<true,  MetaFuncT0, 
     676                   false, MetaFuncT1, MetaFuncDefaultT> 
     677    : public MetaFuncT0 
     678{ 
     679}; 
     680 
     681template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> 
     682struct EvalSwitch2<false, MetaFuncT0, 
     683                   true,  MetaFuncT1, MetaFuncDefaultT> 
     684    : public MetaFuncT1 
     685{ 
     686}; 
     687 
     688template <class MetaFuncT0, class MetaFuncT1, class MetaFuncDefaultT> 
     689struct EvalSwitch2<false, MetaFuncT0, 
     690                   false, MetaFuncT1, MetaFuncDefaultT> 
     691    : public MetaFuncDefaultT                    
     692{ 
     693}; 
     694 
     695/* 3 Case Statements --------------------------------------------------*/ 
     696 
     697template <bool CondB0, class MetaFuncT0, 
     698          bool CondB1, class MetaFuncT1, 
     699          bool CondB2, class MetaFuncT2, class MetaFuncDefaultT> 
     700struct EvalSwitch3; 
     701 
     702template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     703          class MetaFuncDefaultT> 
     704struct EvalSwitch3<true,  MetaFuncT0, 
     705                   false, MetaFuncT1, 
     706                   false, MetaFuncT2, MetaFuncDefaultT> 
     707    : public MetaFuncT0 
     708{ 
     709}; 
     710 
     711template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     712          class MetaFuncDefaultT> 
     713struct EvalSwitch3<false, MetaFuncT0, 
     714                   true,  MetaFuncT1, 
     715                   false, MetaFuncT2, MetaFuncDefaultT> 
     716    : public MetaFuncT1 
     717{ 
     718}; 
     719 
     720template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     721          class MetaFuncDefaultT> 
     722struct EvalSwitch3<false, MetaFuncT0, 
     723                   false, MetaFuncT1, 
     724                   true,  MetaFuncT2, MetaFuncDefaultT> 
     725    : public MetaFuncT2 
     726{ 
     727}; 
     728 
     729template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     730          class MetaFuncDefaultT> 
     731struct EvalSwitch3<false, MetaFuncT0,  
     732                   false, MetaFuncT1, 
     733                   false, MetaFuncT2, MetaFuncDefaultT> 
     734    : public MetaFuncDefaultT 
     735{ 
     736}; 
     737 
     738/* 4 Case Statements --------------------------------------------------*/ 
     739 
     740template <bool CondB0, class MetaFuncT0, 
     741          bool CondB1, class MetaFuncT1, 
     742          bool CondB2, class MetaFuncT2, 
     743          bool CondB3, class MetaFuncT3, class MetaFuncDefaultT> 
     744struct EvalSwitch4; 
     745 
     746template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     747          class MetaFuncT3, class MetaFuncDefaultT> 
     748struct EvalSwitch4<true,  MetaFuncT0, 
     749                   false, MetaFuncT1, 
     750                   false, MetaFuncT2, 
     751                   false, MetaFuncT3, MetaFuncDefaultT> 
     752    : public MetaFuncT0 
     753{ 
     754}; 
     755 
     756template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     757          class MetaFuncT3, class MetaFuncDefaultT> 
     758struct EvalSwitch4<false, MetaFuncT0, 
     759                   true,  MetaFuncT1, 
     760                   false, MetaFuncT2, 
     761                   false, MetaFuncT3, MetaFuncDefaultT> 
     762    : public MetaFuncT1 
     763{ 
     764}; 
     765 
     766template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     767          class MetaFuncT3, class MetaFuncDefaultT> 
     768struct EvalSwitch4<false, MetaFuncT0, 
     769                   false, MetaFuncT1, 
     770                   true,  MetaFuncT2, 
     771                   false, MetaFuncT3, MetaFuncDefaultT> 
     772    : public MetaFuncT2 
     773{ 
     774}; 
     775 
     776template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     777          class MetaFuncT3, class MetaFuncDefaultT> 
     778struct EvalSwitch4<false, MetaFuncT0,  
     779                   false, MetaFuncT1, 
     780                   false, MetaFuncT2, 
     781                   true,  MetaFuncT3, MetaFuncDefaultT> 
     782    : public MetaFuncT3 
     783{ 
     784}; 
     785 
     786template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     787          class MetaFuncT3, class MetaFuncDefaultT> 
     788struct EvalSwitch4<false, MetaFuncT0,  
     789                   false, MetaFuncT1, 
     790                   false, MetaFuncT2, 
     791                   false, MetaFuncT3, MetaFuncDefaultT> 
     792    : public MetaFuncDefaultT 
     793{ 
     794}; 
     795 
     796/* 5 Case Statements --------------------------------------------------*/ 
     797 
     798template <bool CondB0, class MetaFuncT0, 
     799          bool CondB1, class MetaFuncT1, 
     800          bool CondB2, class MetaFuncT2, 
     801          bool CondB3, class MetaFuncT3, 
     802          bool CondB4, class MetaFuncT4, class MetaFuncDefaultT> 
     803struct EvalSwitch5; 
     804 
     805template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     806          class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> 
     807struct EvalSwitch5<true,  MetaFuncT0, 
     808                   false, MetaFuncT1, 
     809                   false, MetaFuncT2, 
     810                   false, MetaFuncT3, 
     811                   false, MetaFuncT4, MetaFuncDefaultT> 
     812    : public MetaFuncT0 
     813{ 
     814}; 
     815 
     816template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     817          class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> 
     818struct EvalSwitch5<false, MetaFuncT0, 
     819                   true,  MetaFuncT1, 
     820                   false, MetaFuncT2, 
     821                   false, MetaFuncT3, 
     822                   false, MetaFuncT4, MetaFuncDefaultT> 
     823    : public MetaFuncT1 
     824{ 
     825}; 
     826 
     827template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     828          class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> 
     829struct EvalSwitch5<false, MetaFuncT0, 
     830                   false, MetaFuncT1, 
     831                   true,  MetaFuncT2, 
     832                   false, MetaFuncT3, 
     833                   false, MetaFuncT4, MetaFuncDefaultT> 
     834    : public MetaFuncT2 
     835{ 
     836}; 
     837 
     838template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     839          class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> 
     840struct EvalSwitch5<false, MetaFuncT0,  
     841                   false, MetaFuncT1, 
     842                   false, MetaFuncT2, 
     843                   true,  MetaFuncT3, 
     844                   false, MetaFuncT4, MetaFuncDefaultT> 
     845    : public MetaFuncT3 
     846{ 
     847}; 
     848 
     849template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     850          class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> 
     851struct EvalSwitch5<false, MetaFuncT0,  
     852                   false, MetaFuncT1, 
     853                   false, MetaFuncT2, 
     854                   false, MetaFuncT3, 
     855                   true,  MetaFuncT4, MetaFuncDefaultT> 
     856    : public MetaFuncT4 
     857{ 
     858}; 
     859 
     860template <class MetaFuncT0, class MetaFuncT1, class MetaFuncT2, 
     861          class MetaFuncT3, class MetaFuncT4, class MetaFuncDefaultT> 
     862struct EvalSwitch5<false, MetaFuncT0,  
     863                   false, MetaFuncT1, 
     864                   false, MetaFuncT2, 
     865                   false, MetaFuncT3, 
     866                   false, MetaFuncT4, MetaFuncDefaultT> 
     867    : public MetaFuncDefaultT 
     868{ 
     869}; 
     870 
     871/*---------------------------------------------------------------------*/ 
    649872/*                PtrStripper Helper                                   */ 
    650873