Changeset 1159

Show
Ignore:
Timestamp:
04/15/08 04:36:41 (4 weeks ago)
Author:
vossg
Message:

changed: take ptr as field template argument

Files:

Legend:

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

    r1155 r1159  
    5656 
    5757// forward declarations 
    58 template <class ObjectTypeT, typename RefCountPolicy, Int32 NamespaceI> 
     58template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> 
    5959class ChildPointerMField; 
    6060 
    61 template <class ObjectTypeT, typename RefCountPolicy, Int32 NamespaceI> 
     61template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> 
    6262class ChildMFieldConstIterator; 
    6363 
    6464#ifndef OSG_CLEAN_FCFIELDS 
    65 template <class ObjectTypeT, typename RefCountPolicy, Int32 NamespaceI> 
     65template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> 
    6666class ChildMFieldReferenceProxy; 
    6767#endif 
    6868 
    6969/*---------------------------------------------------------------------------*/ 
    70 /* ChildMFieldIterator<ObjectTypeT>                                          */ 
     70/* ChildMFieldIterator<PtrTypeT>                                          */ 
    7171/*---------------------------------------------------------------------------*/ 
    7272 
    73 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> 
     73template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> 
    7474class ChildMFieldIterator : 
    75     protected ChildPointerMField<ObjectTypeT,  
     75    protected ChildPointerMField<PtrTypeT,  
    7676                                 RefCountPolicy,  
    7777                                 iNamespace   >::PtrStoreItType 
    7878{ 
    79     template <class OT, typename RC, Int32 NI> 
     79    template <class PT, typename RC, Int32 NI> 
    8080    friend class ChildPointerMField; 
    8181 
    82     template <class OT, typename RC, Int32 NI> 
     82    template <class PT, typename RC, Int32 NI> 
    8383    friend class ChildMFieldConstIterator; 
    8484 
     
    9393    typedef          ChildMFieldIterator                Self; 
    9494            
    95     typedef          ChildPointerMField<ObjectTypeT,  
     95    typedef          ChildPointerMField<PtrTypeT,  
    9696                                        RefCountPolicy,  
    9797                                        iNamespace    > MFieldType; 
     
    101101    typedef typename MFieldType::AccessHandler          AccessHandler; 
    102102 
    103     typedef          ObjectTypeT * const                const_value; 
     103    typedef          PtrTypeT const                     const_value; 
    104104     
    105105#ifndef OSG_CLEAN_FCFIELDS 
    106106    typedef          ChildMFieldReferenceProxy< 
    107                          ObjectTypeT,  
     107                         PtrTypeT,  
    108108                         RefCountPolicy,  
    109109                         iNamespace                   > reference;  
     
    119119    typedef typename Inherited::iterator_category       iterator_category; 
    120120    typedef typename Inherited::difference_type         difference_type; 
    121  
    122     typedef          ObjectTypeT                        ObjectType; 
    123121 
    124122    /*! \}                                                                 */ 
     
    196194 
    197195#if 0 
    198 template <class ObjectTypeT, Int32 iNamespace> 
    199 typename ChildMFieldIterator<ObjectTypeT, iNamespace>::difference_type 
    200     operator-(ChildMFieldIterator<ObjectTypeT, iNamespace> const &lhs, 
    201               ChildMFieldIterator<ObjectTypeT, iNamespace> const &rhs ); 
    202  
    203 template <class ObjectTypeT, Int32 iNamespace> 
    204 ChildMFieldIterator<ObjectTypeT, iNamespace> 
     196template <class PtrTypeT, Int32 iNamespace> 
     197typename ChildMFieldIterator<PtrTypeT, iNamespace>::difference_type 
     198    operator-(ChildMFieldIterator<PtrTypeT, iNamespace> const &lhs, 
     199              ChildMFieldIterator<PtrTypeT, iNamespace> const &rhs ); 
     200 
     201template <class PtrTypeT, Int32 iNamespace> 
     202ChildMFieldIterator<PtrTypeT, iNamespace> 
    205203    operator+( 
    206         typename ChildMFieldIterator<ObjectTypeT, iNamespace>::differece_type const offset, 
    207         ChildMFieldIterator<ObjectTypeT, iNamespace>                          const &rhs   ); 
     204        typename ChildMFieldIterator<PtrTypeT, iNamespace>::differece_type const offset, 
     205        ChildMFieldIterator<PtrTypeT, iNamespace>                          const &rhs   ); 
    208206#endif 
    209207 
    210208/*---------------------------------------------------------------------------*/ 
    211 /* ChildMFieldConstIterator<ObjectTypeT>                                     */ 
     209/* ChildMFieldConstIterator<PtrTypeT>                                     */ 
    212210/*---------------------------------------------------------------------------*/ 
    213211 
    214 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> 
     212template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> 
    215213class ChildMFieldConstIterator : 
    216     protected ChildPointerMField<ObjectTypeT,  
     214    protected ChildPointerMField<PtrTypeT,  
    217215                                 RefCountPolicy,  
    218216                                 iNamespace    >::PtrStoreConstItType 
    219217{ 
    220     template <class OT, typename RC, Int32 NI> 
     218    template <class PT, typename RC, Int32 NI> 
    221219    friend class ChildPointerMField; 
    222220 
    223     template <class OT, typename RC, Int32 NI> 
     221    template <class PT, typename RC, Int32 NI> 
    224222    friend class ChildMFieldIterator; 
    225223 
     
    234232    typedef          ChildMFieldConstIterator           Self; 
    235233 
    236     typedef          ChildPointerMField<ObjectTypeT,  
     234    typedef          ChildPointerMField<PtrTypeT,  
    237235                                        RefCountPolicy,  
    238236                                        iNamespace    > MFieldType; 
     
    242240    typedef typename MFieldType::AccessHandler          AccessHandler; 
    243241 
    244     typedef          ObjectTypeT * const                const_value; 
     242    typedef          PtrTypeT const                     const_value; 
    245243     
    246244    // store types 
     
    254252    typedef typename Inherited::difference_type         difference_type; 
    255253 
    256     typedef          ObjectTypeT                        ObjectType; 
    257      
    258254    /*! \}                                                                 */ 
    259255    /*---------------------------------------------------------------------*/ 
     
    322318 
    323319#if 0 
    324 template <class ObjectTypeT, Int32 iNamespace> 
    325 typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
    326     operator-(ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &lhs, 
    327               ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &rhs ); 
     320template <class PtrTypeT, Int32 iNamespace> 
     321typename ChildMFieldConstIterator<PtrTypeT, iNamespace>::difference_type 
     322    operator-(ChildMFieldConstIterator<PtrTypeT, iNamespace> const &lhs, 
     323              ChildMFieldConstIterator<PtrTypeT, iNamespace> const &rhs ); 
    328324               
    329 template <class ObjectTypeT, Int32 iNamespace> 
    330 typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
    331     operator-(ChildMFieldIterator     <ObjectTypeT, iNamespace> const &lhs, 
    332               ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &rhs ); 
    333  
    334 template <class ObjectTypeT, Int32 iNamespace> 
    335 typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type 
    336     operator-(ChildMFieldConstIterator<ObjectTypeT, iNamespace> const &lhs, 
    337               ChildMFieldIterator     <ObjectTypeT, iNamespace> const &rhs ); 
     325template <class PtrTypeT, Int32 iNamespace> 
     326typename ChildMFieldConstIterator<PtrTypeT, iNamespace>::difference_type 
     327    operator-(ChildMFieldIterator     <PtrTypeT, iNamespace> const &lhs, 
     328              ChildMFieldConstIterator<PtrTypeT, iNamespace> const &rhs ); 
     329 
     330template <class PtrTypeT, Int32 iNamespace> 
     331typename ChildMFieldConstIterator<PtrTypeT, iNamespace>::difference_type 
     332    operator-(ChildMFieldConstIterator<PtrTypeT, iNamespace> const &lhs, 
     333              ChildMFieldIterator     <PtrTypeT, iNamespace> const &rhs ); 
    338334               
    339 template <class ObjectTypeT, Int32 iNamespace> 
    340 ChildMFieldConstIterator<ObjectTypeT, iNamespace> 
     335template <class PtrTypeT, Int32 iNamespace> 
     336ChildMFieldConstIterator<PtrTypeT, iNamespace> 
    341337    operator+( 
    342         typename ChildMFieldConstIterator<ObjectTypeT, iNamespace>::difference_type const  offset, 
    343         ChildMFieldConstIterator<ObjectTypeT, iNamespace>                           const &rhs    ); 
     338        typename ChildMFieldConstIterator<PtrTypeT, iNamespace>::difference_type const  offset, 
     339        ChildMFieldConstIterator<PtrTypeT, iNamespace>                           const &rhs    ); 
    344340#endif 
    345341 
    346342/*-------------------------------------------------------------------------*/ 
    347 /* ChildMFieldReferenceProxy<ObjectTypeT>                                  */ 
     343/* ChildMFieldReferenceProxy<PtrTypeT>                                  */ 
    348344/*-------------------------------------------------------------------------*/ 
    349345 
    350 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> 
     346template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> 
    351347class ChildMFieldReferenceProxy 
    352348{ 
     
    359355    /*! \{                                                                 */ 
    360356     
    361     typedef          ObjectTypeT                         ObjectType; 
    362      
    363357    typedef          ChildMFieldReferenceProxy           Self; 
    364358             
    365     typedef          ChildPointerMField<ObjectTypeT,  
     359    typedef          ChildPointerMField<PtrTypeT,  
    366360                                        RefCountPolicy,  
    367361                                        iNamespace    >  MFieldType; 
     
    375369     
    376370    // std library types 
    377     typedef          ObjectTypeT * const                 const_value; 
     371    typedef          PtrTypeT const                      const_value; 
    378372     
    379373    /*! \}                                                                 */ 
     
    416410/*---------------------------------------------------------------------------*/ 
    417411 
    418 template <class    ObjectTypeT, 
     412template <class    PtrTypeT, 
    419413          typename RefCountPolicy, 
    420414          Int32    NamespaceI  = 0> 
     
    432426    /*! \{                                                                 */ 
    433427 
    434      
    435428    typedef ChildPointerMFieldBase< 
    436429                ChildAccessHandler  <RefCountPolicy>, 
     
    439432    typedef ChildPointerMField Self; 
    440433     
    441     typedef ObjectTypeT *                             value_type; 
    442     typedef ObjectTypeT * const                       const_value; 
     434    typedef PtrTypeT                                  value_type; 
     435    typedef PtrTypeT const                            const_value; 
    443436    typedef value_type                                StoredType; 
    444437 
     
    446439    typedef typename Inherited::difference_type       difference_type; 
    447440 
    448     typedef ChildMFieldIterator      <ObjectTypeT,  
     441    typedef ChildMFieldIterator      <PtrTypeT,  
    449442                                      RefCountPolicy,  
    450443                                      NamespaceI    > iterator; 
    451444 
    452     typedef ChildMFieldConstIterator <ObjectTypeT,  
     445    typedef ChildMFieldConstIterator <PtrTypeT,  
    453446                                      RefCountPolicy,  
    454447                                      NamespaceI    > const_iterator; 
     
    466459 
    467460#ifndef OSG_CLEAN_FCFIELDS 
    468     typedef ChildMFieldReferenceProxy<ObjectTypeT, 
     461    typedef ChildMFieldReferenceProxy<PtrTypeT, 
    469462                                      RefCountPolicy,  
    470463                                      NamespaceI    > reference; 
    471464#endif 
    472465 
    473     typedef ObjectTypeT                               ObjectType; 
    474                                        
     466                                      
    475467    // handles 
    476468//    typedef          EditPointerMFieldHandle<Self>      EditHandle; 
     
    608600                                     const_value    value   = NullFC); 
    609601 
     602    void                   reserve  (size_type      newsize         ); 
     603 
    610604    void                   clear    (void                           ); 
    611605                                
  • trunk/Source/System/FieldContainer/Fields/PointerFields/OSGChildPointerMField.inl

    <
    r1155 r1159  
    4646 
    4747/*-------------------------------------------------------------------------*/ 
    48 /* ChildMFieldIterator<ObjectTypeT>                                        */ 
     48/* ChildMFieldIterator<PtrTypeT>                                        */ 
    4949/*-------------------------------------------------------------------------*/ 
    5050 
     
    5252/* Constructors                                                            */ 
    5353 
    54 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    55 ChildMFieldIterator<ObjectTypeT,  
     54template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     55ChildMFieldIterator<PtrTypeT,  
    5656                    RefCountPolicy,  
    5757                    iNamespace    >::ChildMFieldIterator(void) :  
     
    6161} 
    6262     
    63 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    64 ChildMFieldIterator<ObjectTypeT,  
     63template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     64ChildMFieldIterator<PtrTypeT,  
    6565                    RefCountPolicy,  
    6666                    iNamespace    >::ChildMFieldIterator(const Self &source) : 
     
    7070} 
    7171     
    72 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    73 ChildMFieldIterator<ObjectTypeT,  
     72template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     73ChildMFieldIterator<PtrTypeT,  
    7474                    RefCountPolicy,  
    7575                    iNamespace    >::ChildMFieldIterator( 
     
    8585/* Destructor                                                              */ 
    8686 
    87 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    88 ChildMFieldIterator<ObjectTypeT,  
     87template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     88ChildMFieldIterator<PtrTypeT,  
    8989                    RefCountPolicy,  
    9090                    iNamespace    >::~ChildMFieldIterator(void) 
     
    9696 
    9797#ifndef OSG_CLEAN_FCFIELDS 
    98 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    99 typename ChildMFieldIterator<ObjectTypeT,  
     98template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     99typename ChildMFieldIterator<PtrTypeT,  
    100100                             RefCountPolicy,  
    101101                             iNamespace    >::reference 
    102 ChildMFieldIterator<ObjectTypeT,  
     102ChildMFieldIterator<PtrTypeT,  
    103103                    RefCountPolicy,  
    104104                    iNamespace    >::operator * (void) const 
     
    108108 
    109109 
    110 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    111 typename ChildMFieldIterator<ObjectTypeT,  
     110template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     111typename ChildMFieldIterator<PtrTypeT,  
    112112                             RefCountPolicy,  
    113113                             iNamespace    >::reference 
    114     ChildMFieldIterator<ObjectTypeT,  
     114    ChildMFieldIterator<PtrTypeT,  
    115115                        RefCountPolicy,  
    116116                        iNamespace    >::operator []( 
     
    120120} 
    121121#else 
    122 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    123 typename ChildMFieldIterator<ObjectTypeT,  
     122template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     123typename ChildMFieldIterator<PtrTypeT,  
    124124                             RefCountPolicy,  
    125125                             iNamespace    >::const_value 
    126 ChildMFieldIterator<ObjectTypeT,  
     126ChildMFieldIterator<PtrTypeT,  
    127127                    RefCountPolicy,  
    128128                    iNamespace    >::operator * (void) const 
     
    133133 
    134134 
    135 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    136 typename ChildMFieldIterator<ObjectTypeT,  
     135template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     136typename ChildMFieldIterator<PtrTypeT,  
    137137                             RefCountPolicy,  
    138138                             iNamespace    >::const_value 
    139     ChildMFieldIterator<ObjectTypeT,  
     139    ChildMFieldIterator<PtrTypeT,  
    140140                        RefCountPolicy,  
    141141                        iNamespace    >::operator []( 
     
    147147 
    148148     
    149 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    150 typename ChildMFieldIterator<ObjectTypeT,  
     149template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     150typename ChildMFieldIterator<PtrTypeT,  
    151151                             RefCountPolicy,  
    152152                             iNamespace    >::Self & 
    153     ChildMFieldIterator<ObjectTypeT,  
     153    ChildMFieldIterator<PtrTypeT,  
    154154                        RefCountPolicy,  
    155155                        iNamespace    >::operator ++(void) 
     
    160160} 
    161161     
    162 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    163 typename ChildMFieldIterator<ObjectTypeT, RefCountPolicy, iNamespace>::Self 
    164     ChildMFieldIterator<ObjectTypeT,  
     162template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     163typename ChildMFieldIterator<PtrTypeT, RefCountPolicy, iNamespace>::Self 
     164    ChildMFieldIterator<PtrTypeT,  
    165165                        RefCountPolicy,  
    166166                        iNamespace    >::operator ++(int) 
     
    173173} 
    174174     
    175 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    176 typename ChildMFieldIterator<ObjectTypeT,  
     175template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     176typename ChildMFieldIterator<PtrTypeT,  
    177177                             RefCountPolicy,  
    178178                             iNamespace    >::Self & 
    179     ChildMFieldIterator<ObjectTypeT,  
     179    ChildMFieldIterator<PtrTypeT,  
    180180                        RefCountPolicy,  
    181181                        iNamespace    >::operator --(void) 
     
    186186} 
    187187 
    188 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    189 typename ChildMFieldIterator<ObjectTypeT, RefCountPolicy, iNamespace>::Self 
    190     ChildMFieldIterator<ObjectTypeT,  
     188template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     189typename ChildMFieldIterator<PtrTypeT, RefCountPolicy, iNamespace>::Self 
     190    ChildMFieldIterator<PtrTypeT,  
    191191                        RefCountPolicy,  
    192192                        iNamespace    >::operator --(int) 
     
    199199} 
    200200     
    201 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    202 typename ChildMFieldIterator<ObjectTypeT,  
     201template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     202typename ChildMFieldIterator<PtrTypeT,  
    203203                             RefCountPolicy,  
    204204                             iNamespace    >::Self & 
    205     ChildMFieldIterator<ObjectTypeT,  
     205    ChildMFieldIterator<PtrTypeT,  
    206206                        RefCountPolicy,  
    207207                        iNamespace>::operator +=(const difference_type offset) 
     
    212212} 
    213213     
    214 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    215 typename ChildMFieldIterator<ObjectTypeT, RefCountPolicy, iNamespace>::Self 
    216     ChildMFieldIterator<ObjectTypeT,  
     214template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     215typename ChildMFieldIterator<PtrTypeT, RefCountPolicy, iNamespace>::Self 
     216    ChildMFieldIterator<PtrTypeT,  
    217217                        RefCountPolicy,  
    218218                        iNamespace   >::operator +( 
     
    224224} 
    225225     
    226 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    227 typename ChildMFieldIterator<ObjectTypeT, RefCountPolicy, iNamespace>::Self & 
    228     ChildMFieldIterator<ObjectTypeT,  
     226template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     227typename ChildMFieldIterator<PtrTypeT, RefCountPolicy, iNamespace>::Self & 
     228    ChildMFieldIterator<PtrTypeT,  
    229229                        RefCountPolicy,  
    230230                        iNamespace    >::operator -=( 
     
    236236} 
    237237     
    238 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    239 typename ChildMFieldIterator<ObjectTypeT, RefCountPolicy, iNamespace>::Self 
    240     ChildMFieldIterator<ObjectTypeT,  
     238template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     239typename ChildMFieldIterator<PtrTypeT, RefCountPolicy, iNamespace>::Self 
     240    ChildMFieldIterator<PtrTypeT,  
    241241                        RefCountPolicy,   
    242242                        iNamespace    >::operator -( 
     
    249249 
    250250 
    251 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    252 bool ChildMFieldIterator<ObjectTypeT,  
     251template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     252bool ChildMFieldIterator<PtrTypeT,  
    253253                         RefCountPolicy,   
    254254                         iNamespace    >::operator == (const Self &rhs) const 
     
    257257} 
    258258 
    259 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    260 bool ChildMFieldIterator<ObjectTypeT,  
     259template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     260bool ChildMFieldIterator<PtrTypeT,  
    261261                        RefCountPolicy,   
    262262                        iNamespace    >::operator != (const Self &rhs) const 
     
    265265} 
    266266     
    267 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    268 bool ChildMFieldIterator<ObjectTypeT,  
     267template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     268bool ChildMFieldIterator<PtrTypeT,  
    269269                        RefCountPolicy,   
    270270                        iNamespace    >::operator == ( 
     
    274274} 
    275275 
    276 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    277 bool ChildMFieldIterator<ObjectTypeT,  
     276template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     277bool ChildMFieldIterator<PtrTypeT,  
    278278                        RefCountPolicy,   
    279279                        iNamespace    >::operator != ( 
     
    287287/* Base                                                                    */ 
    288288 
    289 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    290 const typename ChildMFieldIterator<ObjectTypeT,  
     289template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     290const typename ChildMFieldIterator<PtrTypeT,  
    291291                                   RefCountPolicy,  
    292292                                   iNamespace    >::PtrStoreItType & 
    293     ChildMFieldIterator<ObjectTypeT,  
     293    ChildMFieldIterator<PtrTypeT,  
    294294                        RefCountPolicy,  
    295295                        iNamespace    >::base(void) const 
     
    304304/* Free Functions                                                          */ 
    305305 
    306 template <class ObjectTypeT, Int32 iNamespace> 
    307 typename ChildMFieldIterator<ObjectTypeT, iNamespace>::difference_type 
    308     operator-(ChildMFieldIterator<ObjectTypeT, iNamespace> const &lhs, 
    309               ChildMFieldIterator<ObjectTypeT, iNamespace> const &rhs ) 
     306template <class PtrTypeT, Int32 iNamespace> 
     307typename ChildMFieldIterator<PtrTypeT, iNamespace>::difference_type 
     308    operator-(ChildMFieldIterator<PtrTypeT, iNamespace> const &lhs, 
     309              ChildMFieldIterator<PtrTypeT, iNamespace> const &rhs ) 
    310310{ 
    311311    return std::distance< 
    312         typename ChildMFieldIterator<ObjectTypeT, iNamespace>::StoreItType 
     312        typename ChildMFieldIterator<PtrTypeT, iNamespace>::StoreItType 
    313313                         >(lhs, rhs); 
    314314} 
    315315 
    316 template <class ObjectTypeT, Int32 iNamespace> 
    317 ChildMFieldIterator<ObjectTypeT, iNamespace> 
     316template <class PtrTypeT, Int32 iNamespace> 
     317ChildMFieldIterator<PtrTypeT, iNamespace> 
    318318    operator+( 
    319         typename ChildMFieldIterator<ObjectTypeT, iNamespace>::differece_type const offset, 
    320         ChildMFieldIterator<ObjectTypeT, iNamespace>                          const &rhs   ) 
    321 { 
    322     return ChildMFieldIterator<ObjectTypeT, iNamespace>(rhs) += offset; 
     319        typename ChildMFieldIterator<PtrTypeT, iNamespace>::differece_type const offset, 
     320        ChildMFieldIterator<PtrTypeT, iNamespace>                          const &rhs   ) 
     321{ 
     322    return ChildMFieldIterator<PtrTypeT, iNamespace>(rhs) += offset; 
    323323} 
    324324#endif 
     
    326326 
    327327/*-------------------------------------------------------------------------*/ 
    328 /* ChildMFieldConstIterator<ObjectTypeT>                            */ 
     328/* ChildMFieldConstIterator<PtrTypeT>                            */ 
    329329/*-------------------------------------------------------------------------*/ 
    330330 
     
    332332/* Constructors                                                            */ 
    333333 
    334 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    335 ChildMFieldConstIterator<ObjectTypeT,  
     334template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     335ChildMFieldConstIterator<PtrTypeT,  
    336336                         RefCountPolicy,  
    337337                         iNamespace    >::ChildMFieldConstIterator(void) :  
     
    340340} 
    341341     
    342 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    343 ChildMFieldConstIterator<ObjectTypeT,  
     342template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     343ChildMFieldConstIterator<PtrTypeT,  
    344344                         RefCountPolicy,  
    345345                         iNamespace    >::ChildMFieldConstIterator( 
     
    349349} 
    350350     
    351 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline 
    352 ChildMFieldConstIterator<ObjectTypeT,  
     351template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline 
     352ChildMFieldConstIterator<PtrTypeT,  
    353353                         RefCountPolicy,  
    354354                         iNamespace    >::ChildMFieldConstIterator( 
     
    358358} 
    359359 
    360 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    361 ChildMFieldConstIterator<ObjectTypeT,  
     360template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     361ChildMFieldConstIterator<PtrTypeT,  
    362362                         RefCountPolicy,  
    363363                         iNamespace    >::ChildMFieldConstIterator( 
     
    370370/* Destructor                                                              */ 
    371371 
    372 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    373 ChildMFieldConstIterator<ObjectTypeT,  
     372template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     373ChildMFieldConstIterator<PtrTypeT,  
    374374                         RefCountPolicy,  
    375375                         iNamespace    >::~ChildMFieldConstIterator(void) 
     
    381381/* Operators                                                               */ 
    382382 
    383 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    384 typename ChildMFieldConstIterator<ObjectTypeT,  
     383template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     384typename ChildMFieldConstIterator<PtrTypeT,  
    385385                                  RefCountPolicy,  
    386386                                  iNamespace    >::const_value 
    387     ChildMFieldConstIterator<ObjectTypeT,  
     387    ChildMFieldConstIterator<PtrTypeT,  
    388388                             RefCountPolicy,  
    389389                             iNamespace    >::operator *(void) const 
     
    394394     
    395395     
    396 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    397 typename ChildMFieldConstIterator<ObjectTypeT,  
     396template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     397typename ChildMFieldConstIterator<PtrTypeT,  
    398398                                  RefCountPolicy,  
    399399                                  iNamespace    >::const_value 
    400     ChildMFieldConstIterator<ObjectTypeT,  
     400    ChildMFieldConstIterator<PtrTypeT,  
    401401                             RefCountPolicy,  
    402402                             iNamespace    >::operator []( 
     
    407407 
    408408 
    409 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    410 typename ChildMFieldConstIterator<ObjectTypeT,  
     409template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     410typename ChildMFieldConstIterator<PtrTypeT,  
    411411                                  RefCountPolicy,  
    412412                                  iNamespace    >::Self & 
    413     ChildMFieldConstIterator<ObjectTypeT,  
     413    ChildMFieldConstIterator<PtrTypeT,  
    414414                             RefCountPolicy,  
    415415                             iNamespace    >::operator ++(void) 
     
    420420} 
    421421     
    422 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    423 typename ChildMFieldConstIterator<ObjectTypeT,  
     422template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     423typename ChildMFieldConstIterator<PtrTypeT,  
    424424                                  RefCountPolicy,  
    425425                                  iNamespace    >::Self 
    426     ChildMFieldConstIterator<ObjectTypeT,  
     426    ChildMFieldConstIterator<PtrTypeT,  
    427427                             RefCountPolicy,  
    428428                             iNamespace    >::operator ++(int) 
     
    435435} 
    436436     
    437 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    438 typename ChildMFieldConstIterator<ObjectTypeT,  
     437template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     438typename ChildMFieldConstIterator<PtrTypeT,  
    439439                                  RefCountPolicy,  
    440440                                  iNamespace    >::Self & 
    441     ChildMFieldConstIterator<ObjectTypeT,  
     441    ChildMFieldConstIterator<PtrTypeT,  
    442442                             RefCountPolicy,  
    443443                             iNamespace    >::operator --(void) 
     
    448448} 
    449449 
    450 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    451 typename ChildMFieldConstIterator<ObjectTypeT,  
     450template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     451typename ChildMFieldConstIterator<PtrTypeT,  
    452452                                  RefCountPolicy,  
    453453                                  iNamespace    >::Self 
    454     ChildMFieldConstIterator<ObjectTypeT,  
     454    ChildMFieldConstIterator<PtrTypeT,  
    455455                             RefCountPolicy,  
    456456                             iNamespace    >::operator --(int) 
     
    463463} 
    464464     
    465 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    466 typename ChildMFieldConstIterator<ObjectTypeT,  
     465template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     466typename ChildMFieldConstIterator<PtrTypeT,  
    467467                                  RefCountPolicy,  
    468468                                  iNamespace   >::Self & 
    469     ChildMFieldConstIterator<ObjectTypeT,  
     469    ChildMFieldConstIterator<PtrTypeT,  
    470470                             RefCountPolicy,  
    471471                             iNamespace    >::operator +=( 
     
    477477} 
    478478     
    479 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    480 typename ChildMFieldConstIterator<ObjectTypeT,  
     479template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     480typename ChildMFieldConstIterator<PtrTypeT,  
    481481                                  RefCountPolicy,  
    482482                                  iNamespace    >::Self 
    483     ChildMFieldConstIterator<ObjectTypeT,  
     483    ChildMFieldConstIterator<PtrTypeT,  
    484484                             RefCountPolicy,  
    485485                             iNamespace    >::operator +( 
     
    491491} 
    492492     
    493 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    494 typename ChildMFieldConstIterator<ObjectTypeT,  
     493template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     494typename ChildMFieldConstIterator<PtrTypeT,  
    495495                                  RefCountPolicy,  
    496496                                  iNamespace    >::Self & 
    497     ChildMFieldConstIterator<ObjectTypeT,  
     497    ChildMFieldConstIterator<PtrTypeT,  
    498498                             RefCountPolicy,  
    499499                             iNamespace    >::operator -=( 
     
    505505} 
    506506     
    507 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    508 typename ChildMFieldConstIterator<ObjectTypeT,  
     507template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     508typename ChildMFieldConstIterator<PtrTypeT,  
    509509                                  RefCountPolicy,  
    510510                                  iNamespace    >::Self 
    511     ChildMFieldConstIterator<ObjectTypeT,  
     511    ChildMFieldConstIterator<PtrTypeT,  
    512512                             RefCountPolicy,  
    513513                             iNamespace    >::operator -( 
     
    519519} 
    520520 
    521 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    522 bool ChildMFieldConstIterator<ObjectTypeT,  
     521template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     522bool ChildMFieldConstIterator<PtrTypeT,  
    523523                              RefCountPolicy,   
    524524                              iNamespace    >::operator == ( 
     
    528528} 
    529529 
    530 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    531 bool ChildMFieldConstIterator<ObjectTypeT,  
     530template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     531bool ChildMFieldConstIterator<PtrTypeT,  
    532532                              RefCountPolicy,   
    533533                              iNamespace    >::operator != ( 
     
    537537} 
    538538     
    539 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    540 bool ChildMFieldConstIterator<ObjectTypeT,  
     539template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     540bool ChildMFieldConstIterator<PtrTypeT,  
    541541                              RefCountPolicy,   
    542542                              iNamespace    >::operator == ( 
     
    546546} 
    547547 
    548 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    549 bool ChildMFieldConstIterator<ObjectTypeT,  
     548template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     549bool ChildMFieldConstIterator<PtrTypeT,  
    550550                              RefCountPolicy,   
    551551                              iNamespace    >::operator != ( 
     
    559559/* Base                                                                    */ 
    560560 
    561 template <class ObjectTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
    562 const typename ChildMFieldConstIterator<ObjectTypeT,  
     561template <class PtrTypeT, typename RefCountPolicy, Int32 iNamespace> inline  
     562const typename ChildMFieldConstIterator<PtrTypeT,  
    563563                                        RefCountPolicy,  
    564564                                        iNamespace    >::PtrStoreConstItType & 
    565     ChildMFieldConstIterator<ObjectTypeT,  
     565    ChildMFieldConstIterator<PtrTypeT,