Changeset 1139

Show
Ignore:
Timestamp:
04/09/08 00:30:57 (1 month ago)
Author:
vossg
Message:

changed : push iNamespace to the helper structs

: unified identical access handler

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGChildPointerMField.h

    r1135 r1139  
    2626class ChildPointerMField; 
    2727 
    28 template <class ObjectTypeT
     28template <class ObjectTypeT, Int32 NamespaceI
    2929class ChildMFieldConstIterator; 
    3030 
     
    3434/*---------------------------------------------------------------------------*/ 
    3535 
    36 template <class ObjectTypeT
     36template <class ObjectTypeT, Int32 iNamespace
    3737class ChildMFieldIterator  
    38     : public ChildPointerMField<ObjectTypeT, 0>::PtrStoreItType 
     38    : public ChildPointerMField<ObjectTypeT, iNamespace>::PtrStoreItType 
    3939{ 
    4040    /*==========================  PUBLIC  =================================*/ 
     
    4747     
    4848    typedef          ChildMFieldIterator                   Self; 
    49     typedef typename ChildPointerMField<ObjectTypeT, 0>::PtrStoreItType 
     49    typedef typename ChildPointerMField<ObjectTypeT, iNamespace>::PtrStoreItType 
    5050                                                           Inherited; 
    5151            
    52     typedef          ChildPointerMField<ObjectTypeT, 0>    MFieldType; 
    53     typedef          ChildFieldConfig  <ObjectTypeT, 0>    FieldConfig; 
     52    typedef          ChildPointerMField<ObjectTypeT, iNamespace>    MFieldType; 
     53    typedef          ChildFieldConfig  <ObjectTypeT, iNamespace>    FieldConfig; 
    5454    typedef typename MFieldType::AccessHandler             AccessHandler; 
    5555     
     
    120120}; 
    121121 
    122 template <class ObjectTypeT
    123 typename ChildMFieldIterator<ObjectTypeT>::difference_type 
    124     operator-(ChildMFieldIterator<ObjectTypeT> const &lhs, 
    125               ChildMFieldIterator<ObjectTypeT> const &rhs ); 
    126  
    127 template <class ObjectTypeT
    128 ChildMFieldIterator<ObjectTypeT
     122template <class ObjectTypeT, Int32 iNamespace
     123typename ChildMFieldIterator<ObjectTypeT, iNamespace>::difference_type 
     124    operator-(ChildMFieldIterator<ObjectTypeT, iNamespace> const &lhs, 
     125              ChildMFieldIterator<ObjectTypeT, iNamespace> const &rhs ); 
     126 
     127template <class ObjectTypeT, Int32 iNamespace
     128ChildMFieldIterator<ObjectTypeT, iNamespace
    129129    operator+( 
    130         typename ChildMFieldIterator<ObjectTypeT>::differece_type const offset, 
    131         ChildMFieldIterator<ObjectTypeT>                          const &rhs   ); 
     130        typename ChildMFieldIterator<ObjectTypeT, iNamespace>::differece_type const offset, 
     131        ChildMFieldIterator<ObjectTypeT, iNamespace>                          const &rhs   ); 
    132132 
    133133/*---------------------------------------------------------------------------*/ 
     
    135135/*---------------------------------------------------------------------------*/ 
    136136 
    137 template <class ObjectTypeT
     137template <class ObjectTypeT, Int32 iNamespace
    138138class ChildMFieldConstIterator 
    139     : public ChildPointerMField<ObjectTypeT, 0>::PtrStoreConstItType 
     139    : public ChildPointerMField<ObjectTypeT, iNamespace>::PtrStoreConstItType 
    140140{ 
    141141    /*==========================  PUBLIC  =================================*/ 
     
    148148     
    149149    typedef          ChildMFieldConstIterator              Self; 
    150     typedef typename ChildPointerMField<ObjectTypeT, 0>::PtrStoreConstItType 
     150    typedef typename ChildPointerMField<ObjectTypeT, iNamespace>::PtrStoreConstItType 
    151151                                                           Inherited; 
    152152            
    153     typedef          ChildPointerMField<ObjectTypeT, 0>    MFieldType; 
    154     typedef          ChildFieldConfig  <ObjectTypeT, 0>    FieldConfig; 
     153    typedef          ChildPointerMField<ObjectTypeT, iNamespace>    MFieldType; 
     154    typedef          ChildFieldConfig  <ObjectTypeT, iNamespace>    FieldConfig; 
    155155    typedef typename MFieldType::AccessHandler             AccessHandler; 
    156156     
     
    175175    ChildMFieldConstIterator(void                                             ); 
    176176    ChildMFieldConstIterator(Self                             const &source   ); 
    177     ChildMFieldConstIterator(ChildMFieldIterator<ObjectTypeT> const &fieldIter); 
     177    ChildMFieldConstIterator(ChildMFieldIterator<ObjectTypeT, iNamespace> const &fieldIter); 
    178178    ChildMFieldConstIterator(PtrStoreConstItType              const &storeIter); 
    179179     
     
    219219}; 
    220220 
    221 template <class ObjectTypeT
    222 typename ChildMFieldConstIterator<ObjectTypeT>::difference_type 
    223     operator-(ChildMFieldConstIterator<ObjectTypeT> const &lhs, 
    224               ChildMFieldConstIterator<ObjectTypeT> const &rhs ); 
     221template <class ObjectTypeT, Int32 iNamespace
     222typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
     223    operator-(ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &lhs, 
     224              ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &rhs ); 
    225225               
    226 template <class ObjectTypeT
    227 typename ChildMFieldConstIterator<ObjectTypeT>::difference_type 
    228     operator-(ChildMFieldIterator     <ObjectTypeT> const &lhs, 
    229               ChildMFieldConstIterator<ObjectTypeT> const &rhs ); 
    230  
    231 template <class ObjectTypeT
    232 typename ChildMFieldConstIterator<ObjectTypeT>::difference_type 
    233     operator-(ChildMFieldConstIterator<ObjectTypeT> const &lhs, 
    234               ChildMFieldIterator     <ObjectTypeT> const &rhs ); 
     226template <class ObjectTypeT, Int32 iNamespace
     227typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
     228    operator-(ChildMFieldIterator     <ObjectTypeT, iNamespace> const &lhs, 
     229              ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &rhs ); 
     230 
     231template <class ObjectTypeT, Int32 iNamespace
     232typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
     233    operator-(ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &lhs, 
     234              ChildMFieldIterator     <ObjectTypeT, iNamespace> const &rhs ); 
    235235               
    236 template <class ObjectTypeT
    237 ChildMFieldConstIterator<ObjectTypeT
     236template <class ObjectTypeT, Int32 iNamespace
     237ChildMFieldConstIterator<ObjectTypeT, iNamespace
    238238    operator+( 
    239         typename ChildMFieldConstIterator<ObjectTypeT>::difference_type const  offset, 
    240         ChildMFieldConstIterator<ObjectTypeT>                           const &rhs    ); 
     239        typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type const  offset, 
     240        ChildMFieldConstIterator<ObjectTypeT, iNamespace>                           const &rhs    ); 
    241241 
    242242/*-------------------------------------------------------------------------*/ 
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGChildPointerMField.inl

    r1135 r1139  
    1616/* Constructors                                                            */ 
    1717 
    18 template <class ObjectTypeT
     18template <class ObjectTypeT, Int32 iNamespace
    1919inline  
    20     ChildMFieldIterator<ObjectTypeT>::ChildMFieldIterator(void) 
     20ChildMFieldIterator<ObjectTypeT, iNamespace>::ChildMFieldIterator(void) 
    2121     
    2222    : Inherited(    ), 
     
    2525} 
    2626     
    27 template <class ObjectTypeT
     27template <class ObjectTypeT, Int32 iNamespace
    2828inline  
    29     ChildMFieldIterator<ObjectTypeT>::ChildMFieldIterator(Self const &source) 
     29    ChildMFieldIterator<ObjectTypeT, iNamespace>::ChildMFieldIterator(Self const &source) 
    3030     
    3131    : Inherited(source        ), 
     
    3434} 
    3535     
    36 template <class ObjectTypeT
     36template <class ObjectTypeT, Int32 iNamespace
    3737inline  
    38     ChildMFieldIterator<ObjectTypeT>::ChildMFieldIterator( 
     38    ChildMFieldIterator<ObjectTypeT, iNamespace>::ChildMFieldIterator( 
    3939        PtrStoreItType const &storeIter,  MFieldType *pField) 
    4040     
     
    4747/* Destructor                                                              */ 
    4848 
    49 template <class ObjectTypeT
     49template <class ObjectTypeT, Int32 iNamespace
    5050inline  
    51     ChildMFieldIterator<ObjectTypeT>::~ChildMFieldIterator(void) 
     51    ChildMFieldIterator<ObjectTypeT, iNamespace>::~ChildMFieldIterator(void) 
    5252{ 
    5353} 
     
    5656/* Operators                                                               */ 
    5757 
    58 template <class ObjectTypeT
    59 inline typename ChildMFieldIterator<ObjectTypeT>::reference 
    60     ChildMFieldIterator<ObjectTypeT>::operator* (void) const 
     58template <class ObjectTypeT, Int32 iNamespace
     59inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::reference 
     60    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator* (void) const 
    6161{ 
    6262    return reference(*this, _pField); 
     
    6767    returned by this function, it will break the reference counting. 
    6868 */ 
    69 template <class ObjectTypeT
    70 inline typename ChildMFieldIterator<ObjectTypeT>::pointer 
    71     ChildMFieldIterator<ObjectTypeT>::operator->(void) const 
     69template <class ObjectTypeT, Int32 iNamespace
     70inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::pointer 
     71    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator->(void) const 
    7272{ 
    7373    return reinterpret_cast<pointer>(this->Inherited::operator->()); 
    7474} 
    7575 
    76 template <class ObjectTypeT
    77 inline typename ChildMFieldIterator<ObjectTypeT>::reference 
    78     ChildMFieldIterator<ObjectTypeT>::operator[]( 
     76template <class ObjectTypeT, Int32 iNamespace
     77inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::reference 
     78    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator[]( 
    7979        difference_type const offset) const 
    8080{ 
     
    8282} 
    8383     
    84 template <class ObjectTypeT
    85 inline typename ChildMFieldIterator<ObjectTypeT>::Self & 
    86     ChildMFieldIterator<ObjectTypeT>::operator++(void) 
     84template <class ObjectTypeT, Int32 iNamespace
     85inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::Self & 
     86    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator++(void) 
    8787{ 
    8888    this->Inherited::operator++(); 
     
    9191} 
    9292     
    93 template <class ObjectTypeT
    94 inline typename ChildMFieldIterator<ObjectTypeT>::Self 
    95     ChildMFieldIterator<ObjectTypeT>::operator++(int) 
     93template <class ObjectTypeT, Int32 iNamespace
     94inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::Self 
     95    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator++(int) 
    9696{ 
    9797    Self retVal = *this; 
     
    102102} 
    103103     
    104 template <class ObjectTypeT
    105 inline typename ChildMFieldIterator<ObjectTypeT>::Self & 
    106     ChildMFieldIterator<ObjectTypeT>::operator--(void) 
     104template <class ObjectTypeT, Int32 iNamespace
     105inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::Self & 
     106    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator--(void) 
    107107{ 
    108108    this->Inherited::operator--(); 
     
    111111} 
    112112 
    113 template <class ObjectTypeT
    114 inline typename ChildMFieldIterator<ObjectTypeT>::Self 
    115     ChildMFieldIterator<ObjectTypeT>::operator--(int) 
     113template <class ObjectTypeT, Int32 iNamespace
     114inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::Self 
     115    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator--(int) 
    116116{ 
    117117    Self retVal = *this; 
     
    122122} 
    123123     
    124 template <class ObjectTypeT
    125 inline typename ChildMFieldIterator<ObjectTypeT>::Self & 
    126     ChildMFieldIterator<ObjectTypeT>::operator+=(difference_type const offset) 
     124template <class ObjectTypeT, Int32 iNamespace
     125inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::Self & 
     126    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator+=(difference_type const offset) 
    127127{ 
    128128    this->Inherited::operator+=(offset); 
     
    131131} 
    132132     
    133 template <class ObjectTypeT
    134 inline typename ChildMFieldIterator<ObjectTypeT>::Self 
    135     ChildMFieldIterator<ObjectTypeT>::operator+ ( 
     133template <class ObjectTypeT, Int32 iNamespace
     134inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::Self 
     135    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator+ ( 
    136136        difference_type const offset) const 
    137137{ 
     
    141141} 
    142142     
    143 template <class ObjectTypeT
    144 inline typename ChildMFieldIterator<ObjectTypeT>::Self & 
    145     ChildMFieldIterator<ObjectTypeT>::operator-=(difference_type const offset) 
     143template <class ObjectTypeT, Int32 iNamespace
     144inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::Self & 
     145    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator-=(difference_type const offset) 
    146146{ 
    147147    this->Inherited::operator-=(offset); 
     
    150150} 
    151151     
    152 template <class ObjectTypeT
    153 inline typename ChildMFieldIterator<ObjectTypeT>::Self 
    154     ChildMFieldIterator<ObjectTypeT>::operator- ( 
     152template <class ObjectTypeT, Int32 iNamespace
     153inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::Self 
     154    ChildMFieldIterator<ObjectTypeT, iNamespace>::operator- ( 
    155155        difference_type const offset) const 
    156156{ 
     
    163163/* Base                                                                    */ 
    164164 
    165 template <class ObjectTypeT
    166 inline typename ChildMFieldIterator<ObjectTypeT>::PtrStoreItType const & 
    167     ChildMFieldIterator<ObjectTypeT>::base(void) const 
     165template <class ObjectTypeT, Int32 iNamespace
     166inline typename ChildMFieldIterator<ObjectTypeT, iNamespace>::PtrStoreItType const & 
     167    ChildMFieldIterator<ObjectTypeT, iNamespace>::base(void) const 
    168168{ 
    169169    return *this; 
     
    173173/* Free Functions                                                          */ 
    174174 
    175 template <class ObjectTypeT
    176 typename ChildMFieldIterator<ObjectTypeT>::difference_type 
    177     operator-(ChildMFieldIterator<ObjectTypeT> const &lhs, 
    178               ChildMFieldIterator<ObjectTypeT> const &rhs ) 
     175template <class ObjectTypeT, Int32 iNamespace
     176typename ChildMFieldIterator<ObjectTypeT, iNamespace>::difference_type 
     177    operator-(ChildMFieldIterator<ObjectTypeT, iNamespace> const &lhs, 
     178              ChildMFieldIterator<ObjectTypeT, iNamespace> const &rhs ) 
    179179{ 
    180180    return std::distance< 
    181         typename ChildMFieldIterator<ObjectTypeT>::StoreItType 
     181        typename ChildMFieldIterator<ObjectTypeT, iNamespace>::StoreItType 
    182182                         >(lhs, rhs); 
    183183} 
    184184 
    185 template <class ObjectTypeT
    186 ChildMFieldIterator<ObjectTypeT
     185template <class ObjectTypeT, Int32 iNamespace
     186ChildMFieldIterator<ObjectTypeT, iNamespace
    187187    operator+( 
    188         typename ChildMFieldIterator<ObjectTypeT>::differece_type const offset, 
    189         ChildMFieldIterator<ObjectTypeT>                          const &rhs   ) 
    190 { 
    191     return ChildMFieldIterator<ObjectTypeT>(rhs) += offset; 
     188        typename ChildMFieldIterator<ObjectTypeT, iNamespace>::differece_type const offset, 
     189        ChildMFieldIterator<ObjectTypeT, iNamespace>                          const &rhs   ) 
     190{ 
     191    return ChildMFieldIterator<ObjectTypeT, iNamespace>(rhs) += offset; 
    192192} 
    193193 
     
    199199/* Constructors                                                            */ 
    200200 
    201 template <class ObjectTypeT
     201template <class ObjectTypeT, Int32 iNamespace
    202202inline  
    203     ChildMFieldConstIterator<ObjectTypeT>::ChildMFieldConstIterator(void) 
     203    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::ChildMFieldConstIterator(void) 
    204204     
    205205    : Inherited() 
     
    207207} 
    208208     
    209 template <class ObjectTypeT
     209template <class ObjectTypeT, Int32 iNamespace
    210210inline  
    211     ChildMFieldConstIterator<ObjectTypeT>::ChildMFieldConstIterator( 
     211    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::ChildMFieldConstIterator( 
    212212        Self const &source) 
    213213     
     
    216216} 
    217217     
    218 template <class ObjectTypeT
     218template <class ObjectTypeT, Int32 iNamespace
    219219inline 
    220     ChildMFieldConstIterator<ObjectTypeT>::ChildMFieldConstIterator( 
    221         ChildMFieldIterator<ObjectTypeT> const &fieldIter) 
     220    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::ChildMFieldConstIterator( 
     221        ChildMFieldIterator<ObjectTypeT, iNamespace> const &fieldIter) 
    222222         
    223223    : Inherited(fieldIter.base()) 
     
    225225} 
    226226 
    227 template <class ObjectTypeT
     227template <class ObjectTypeT, Int32 iNamespace
    228228inline  
    229     ChildMFieldConstIterator<ObjectTypeT>::ChildMFieldConstIterator( 
     229    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::ChildMFieldConstIterator( 
    230230        PtrStoreConstItType const &storeIter) 
    231231     
     
    237237/* Destructor                                                              */ 
    238238 
    239 template <class ObjectTypeT
     239template <class ObjectTypeT, Int32 iNamespace
    240240inline  
    241     ChildMFieldConstIterator<ObjectTypeT>::~ChildMFieldConstIterator(void) 
     241    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::~ChildMFieldConstIterator(void) 
    242242{ 
    243243} 
     
    246246/* Operators                                                               */ 
    247247 
    248 template <class ObjectTypeT
    249 inline typename ChildMFieldConstIterator<ObjectTypeT>::reference 
    250     ChildMFieldConstIterator<ObjectTypeT>::operator* (void) const 
     248template <class ObjectTypeT, Int32 iNamespace
     249inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::reference 
     250    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator* (void) const 
    251251{ 
    252252    return reinterpret_cast<reference>(this->Inherited::operator*()); 
    253253} 
    254254     
    255 template <class ObjectTypeT
    256 inline typename ChildMFieldConstIterator<ObjectTypeT>::pointer 
    257     ChildMFieldConstIterator<ObjectTypeT>::operator->(void) const 
     255template <class ObjectTypeT, Int32 iNamespace
     256inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::pointer 
     257    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator->(void) const 
    258258{ 
    259259    return reinterpret_cast<pointer>(this->Inherited::operator->()); 
    260260} 
    261261     
    262 template <class ObjectTypeT
    263 inline typename ChildMFieldConstIterator<ObjectTypeT>::reference 
    264     ChildMFieldConstIterator<ObjectTypeT>::operator[]( 
     262template <class ObjectTypeT, Int32 iNamespace
     263inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::reference 
     264    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator[]( 
    265265        difference_type const offset) const 
    266266{ 
     
    268268} 
    269269 
    270 template <class ObjectTypeT
    271 inline typename ChildMFieldConstIterator<ObjectTypeT>::Self & 
    272     ChildMFieldConstIterator<ObjectTypeT>::operator++(void) 
     270template <class ObjectTypeT, Int32 iNamespace
     271inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::Self & 
     272    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator++(void) 
    273273{ 
    274274    this->Inherited::operator++(); 
     
    277277} 
    278278     
    279 template <class ObjectTypeT
    280 inline typename ChildMFieldConstIterator<ObjectTypeT>::Self 
    281     ChildMFieldConstIterator<ObjectTypeT>::operator++(int) 
     279template <class ObjectTypeT, Int32 iNamespace
     280inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::Self 
     281    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator++(int) 
    282282{ 
    283283    Self retVal = *this; 
     
    288288} 
    289289     
    290 template <class ObjectTypeT
    291 inline typename ChildMFieldConstIterator<ObjectTypeT>::Self & 
    292     ChildMFieldConstIterator<ObjectTypeT>::operator--(void) 
     290template <class ObjectTypeT, Int32 iNamespace
     291inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::Self & 
     292    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator--(void) 
    293293{ 
    294294    this->Inherited::operator--(); 
     
    297297} 
    298298 
    299 template <class ObjectTypeT
    300 inline typename ChildMFieldConstIterator<ObjectTypeT>::Self 
    301     ChildMFieldConstIterator<ObjectTypeT>::operator--(int) 
     299template <class ObjectTypeT, Int32 iNamespace
     300inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::Self 
     301    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator--(int) 
    302302{ 
    303303    Self retVal = *this; 
     
    308308} 
    309309     
    310 template <class ObjectTypeT
    311 inline typename ChildMFieldConstIterator<ObjectTypeT>::Self & 
    312     ChildMFieldConstIterator<ObjectTypeT>::operator+=( 
     310template <class ObjectTypeT, Int32 iNamespace
     311inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::Self & 
     312    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator+=( 
    313313        difference_type const offset) 
    314314{ 
     
    318318} 
    319319     
    320 template <class ObjectTypeT
    321 inline typename ChildMFieldConstIterator<ObjectTypeT>::Self 
    322     ChildMFieldConstIterator<ObjectTypeT>::operator+ ( 
     320template <class ObjectTypeT, Int32 iNamespace
     321inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::Self 
     322    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator+ ( 
    323323        difference_type const offset) const 
    324324{ 
     
    328328} 
    329329     
    330 template <class ObjectTypeT
    331 inline typename ChildMFieldConstIterator<ObjectTypeT>::Self & 
    332     ChildMFieldConstIterator<ObjectTypeT>::operator-=( 
     330template <class ObjectTypeT, Int32 iNamespace
     331inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::Self & 
     332    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator-=( 
    333333        difference_type const offset) 
    334334{ 
     
    338338} 
    339339     
    340 template <class ObjectTypeT
    341 inline typename ChildMFieldConstIterator<ObjectTypeT>::Self 
    342     ChildMFieldConstIterator<ObjectTypeT>::operator- ( 
     340template <class ObjectTypeT, Int32 iNamespace
     341inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::Self 
     342    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::operator- ( 
    343343        difference_type const offset) const 
    344344{ 
     
    351351/* Base                                                                    */ 
    352352 
    353 template <class ObjectTypeT
    354 inline typename ChildMFieldConstIterator<ObjectTypeT>::PtrStoreConstItType const & 
    355     ChildMFieldConstIterator<ObjectTypeT>::base(void) const 
     353template <class ObjectTypeT, Int32 iNamespace
     354inline typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::PtrStoreConstItType const & 
     355    ChildMFieldConstIterator<ObjectTypeT, iNamespace>::base(void) const 
    356356{ 
    357357    return *this; 
     
    361361/* Free Functions                                                          */ 
    362362 
    363 template <class ObjectTypeT
    364 typename ChildMFieldConstIterator<ObjectTypeT>::difference_type 
    365     operator-(ChildMFieldConstIterator<ObjectTypeT> const &lhs, 
    366               ChildMFieldConstIterator<ObjectTypeT> const &rhs ) 
    367 { 
    368     return typename ChildMFieldConstIterator<ObjectTypeT>:: 
     363template <class ObjectTypeT, Int32 iNamespace
     364typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
     365    operator-(ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &lhs, 
     366              ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &rhs ) 
     367{ 
     368    return typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>:: 
    369369               PtrStoreConstItType(lhs) - 
    370            typename ChildMFieldConstIterator<ObjectTypeT>:: 
     370           typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>:: 
    371371               PtrStoreConstItType(rhs); 
    372372} 
    373373               
    374 template <class ObjectTypeT
    375 typename ChildMFieldConstIterator<ObjectTypeT>::difference_type 
    376     operator-(ChildMFieldIterator     <ObjectTypeT> const &lhs, 
    377               ChildMFieldConstIterator<ObjectTypeT> const &rhs ) 
    378 { 
    379     return typename ChildMFieldIterator<ObjectTypeT>:: 
     374template <class ObjectTypeT, Int32 iNamespace
     375typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
     376    operator-(ChildMFieldIterator     <ObjectTypeT, iNamespace> const &lhs, 
     377              ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &rhs ) 
     378{ 
     379    return typename ChildMFieldIterator<ObjectTypeT, iNamespace>:: 
    380380               PtrStoreItType(lhs) - 
    381            typename ChildMFieldConstIterator<ObjectTypeT>:: 
     381           typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>:: 
    382382               PtrStoreConstItType(rhs); 
    383383} 
    384384 
    385 template <class ObjectTypeT
    386 typename ChildMFieldConstIterator<ObjectTypeT>::difference_type 
    387     operator-(ChildMFieldConstIterator<ObjectTypeT> const &lhs, 
    388               ChildMFieldIterator     <ObjectTypeT> const &rhs ) 
    389 { 
    390     return typename ChildMFieldConstIterator<ObjectTypeT>:: 
     385template <class ObjectTypeT, Int32 iNamespace
     386typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
     387    operator-(ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &lhs, 
     388              ChildMFieldIterator     <ObjectTypeT, iNamespace> const &rhs ) 
     389{ 
     390    return typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>:: 
    391391               PtrStoreConstItType(lhs) - 
    392            typename ChildMFieldIterator<ObjectTypeT>:: 
     392           typename ChildMFieldIterator<ObjectTypeT, iNamespace>:: 
    393393               PtrStoreItType(rhs); 
    394394}              
    395395               
    396 template <class ObjectTypeT
    397 ChildMFieldConstIterator<ObjectTypeT
     396template <class ObjectTypeT, Int32 iNamespace
     397ChildMFieldConstIterator<ObjectTypeT, iNamespace
    398398    operator+( 
    399         typename ChildMFieldConstIterator<ObjectTypeT>::difference_type const offset, 
    400         ChildMFieldConstIterator<ObjectTypeT>                           const &rhs   ) 
    401 { 
    402     return ChildMFieldConstIterator<ObjectTypeT>(rhs) += offset; 
     399        typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type const offset, 
     400        ChildMFieldConstIterator<ObjectTypeT, iNamespace>                           const &rhs   ) 
     401{ 
     402    return ChildMFieldConstIterator<ObjectTypeT, iNamespace>(rhs) += offset; 
    403403} 
    404404 
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGParentPointerMField.h

    r1135 r1139  
    8888    /*! \{                                                                 */ 
    8989     
    90     reference operator* (void) const; 
     90//    value_type operator* (void) const; 
    9191    pointer   operator->(void) const; 
    9292     
     
    323323OSG_END_NAMESPACE 
    324324 
    325 #include "OSGWeakAccessHandler.h" 
    326  
    327325#include "OSGParentPointerMField.inl" 
    328326 
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGParentPointerMField.inl

    r1135 r1139  
    5656/* Operators                                                               */ 
    5757 
     58#if 0 
    5859template <class ObjectTypeT> 
    5960inline typename ParentMFieldConstIterator<ObjectTypeT>::reference 
     
    6263    return reference(*this, _idStoreIt); 
    6364} 
     65#endif 
    6466 
    6567template <class ObjectTypeT> 
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGParentPointerMFieldBase.h

    r1135 r1139  
    1010 
    1111#include "OSGPointerMFieldCommon.h" 
    12 #include "OSGNoRefCountAccessHandlerDecl.h" 
     12#include "OSGPointerAccessHandler.h" 
    1313 
    1414#ifdef OSG_DOC_FILES_IN_MODULE 
     
    4040    typedef typename IdStoreType::const_iterator             IdStoreConstItType; 
    4141     
    42     typedef          FieldTraits<IdStoredType, 
    43                                  NamespaceI   >              IdBaseTraitsType; 
     42    typedef          FieldTraits<IdStoredType >              IdBaseTraitsType; 
    4443     
    4544    typedef typename Inherited::size_type                    size_type; 
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGParentPointerSField.h

    r1135 r1139  
    197197OSG_END_NAMESPACE 
    198198 
    199 #include "OSGWeakAccessHandler.h" 
    200  
    201199#include "OSGParentPointerSField.inl" 
    202200 
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGParentPointerSFieldBase.h

    r1135 r1139  
    1010 
    1111#include "OSGPointerSFieldCommon.h" 
    12 #include "OSGNoRefCountAccessHandlerDecl.h" 
     12#include "OSGPointerAccessHandler.h" 
    1313 
    1414#ifdef OSG_DOC_FILES_IN_MODULE 
     
    3939    typedef UInt16 const                           &IdStoredTypeConstRef; 
    4040     
    41     typedef FieldTraits<IdStoredType, 
    42                         NamespaceI   >              IdBaseTraitsType; 
     41    typedef FieldTraits<IdStoredType >              IdBaseTraitsType; 
    4342     
    4443    /*! \}                                                                 */ 
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGPointerAccessHandler.h

    r1133 r1139  
    3737\*---------------------------------------------------------------------------*/ 
    3838 
    39 #ifndef _OSGWEAKACCESSHANDLERDECL_H_ 
    40 #define _OSGWEAKACCESSHANDLERDECL_H_ 
     39#ifndef _OSGPOINTERACCESSHANDLERDECL_H_ 
     40#define _OSGPOINTERACCESSHANDLERDECL_H_ 
    4141 
    4242#ifdef __sgi 
     
    4545 
    4646#include "OSGConfig.h" 
    47 #include "OSGRefCountPolicies.h" 
    4847 
    4948#ifdef OSG_DOC_FILES_IN_MODULE 
     
    5958class PointerSFieldBase; 
    6059 
    61  
    62 class WeakAccessHandler 
     60template<typename RefCountPolicyT> 
     61class PointerAccessHandler 
    6362{ 
    6463    /*==========================  PUBLIC  =================================*/ 
     
    6867    /*! \{                                                                 */ 
    6968     
    70     typedef WeakAccessHandler         Self; 
    71     typedef WeakRefCountPolicy        Inherited; 
     69    typedef PointerAccessHandler  Self; 
    7270       
    73     typedef WeakRefCountPolicy        RefCountPolicyType; 
     71    typedef RefCountPolicyT       RefCountPolicyType; 
    7472     
    75     typedef PointerMFieldBase         MFieldBaseType; 
    76     typedef PointerSFieldBase         SFieldBaseType; 
     73    typedef PointerMFieldBase     MFieldBaseType; 
     74    typedef PointerSFieldBase     SFieldBaseType; 
    7775     
    7876    /*! \}                                                                 */ 
     
    130128}; 
    131129 
     130typedef PointerAccessHandler<NoRefCountPolicy        > NoRefCountAccessHandler; 
     131typedef PointerAccessHandler<WeakRefCountPolicy      > WeakAccessHandler; 
     132typedef PointerAccessHandler<UnrecordedRefCountPolicy> UnrecordedAccessHandler; 
     133 
    132134OSG_END_NAMESPACE 
    133135 
     136#include "OSGPointerAccessHandler.inl" 
     137 
    134138#endif // _OSGWEAKACCESSHANDLERDECL_H_ 
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGPointerAccessHandler.inl

    <
    r1132 r1139  
    33 *                                                                           * 
    44 *                                                                           * 
    5  *           Copyright (C) 2008 by the OpenSG Forum                          * 
     5 *                 Copyright (C) 2008 by the OpenSG Forum                    * 
    66 *                                                                           * 
    77 *                            www.opensg.org                                 * 
     
    3838 
    3939#ifdef OSG_DOC_FILES_IN_MODULE 
    40 /*! \file OSGPointerSFieldBase.inl 
     40/*! \file PointerAccessHandlerDecl.inl 
    4141    \ingroup GrpSystemFieldContainer 
    4242 */ 
     
    4545OSG_BEGIN_NAMESPACE 
    4646 
    47 /*! \class PointerSFieldBase 
    48  */ 
    49   
    5047/*-------------------------------------------------------------------------*/ 
    51 /* Constructors                                                            */