Show
Ignore:
Timestamp:
12/29/06 10:23:39 (2 years ago)
Author:
cneumann
Message:

- base templates to generate full set of access methods

for non-ptr mfields (including clear())
(full regeneration of base files in follow up commit)

- indented control statements in template files.
- do not screw up preformatted documentation from fcd files

in generated output.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Tools/fcd2code/TemplateFieldContainerBase_h.txt

    r438 r458  
    6262@@if isInLibrary 
    6363#include "OSG@!Libname!@Def.h" 
    64 @@endif 
     64@@endif // isInLibrary 
    6565 
    6666#include "@!HeaderPrefix!@OSGBaseTypes.h" 
     
    6969 
    7070@@if !isDecorator 
    71 @@BeginFieldLoop@@ 
     71    @@BeginFieldLoop@@ 
    7272#include "@!field.TypeInclude!@" // @!field.Name!@ type 
    73 @@EndFieldLoop@@ 
    74 @@else 
     73    @@EndFieldLoop@@ 
     74@@else // !isDecorator 
    7575#include "OSG@!Parent!@Fields.h" // Decoratee type 
    76 @@endif 
     76@@endif // !isDecorator 
    7777 
    7878#include "OSG@!Classname!@Fields.h" 
     
    8686@@if isInLibrary 
    8787class OSG_@!LIBNAME!@_DLLMAPPING @!Classname!@Base : public @!Parent!@ 
    88 @@else 
     88@@else // isInLibrary 
    8989class @!Classname!@Base : public @!Parent!@ 
    90 @@endif 
     90@@endif // isInLibrary 
    9191{ 
    9292  public: 
     
    130130    static const OSG::BitVector DecorateeFieldMask = 
    131131        (TypeTraits<BitVector>::One << DecorateeFieldId); 
    132 @@else 
    133 @@if hasFields 
     132@@else // isDecorator 
     133    @@if hasFields 
    134134    enum 
    135135    { 
    136 @@BeginFieldLoop 
    137 @@if field.isFirstField 
     136        @@BeginFieldLoop 
     137            @@if field.isFirstField 
    138138        @!field.Name!@FieldId = Inherited::NextFieldId, 
    139 @@if field.isLastField 
     139                @@if field.isLastField 
    140140        NextFieldId = @!field.Name!@FieldId + 1 
    141 @@endif 
    142 @@else 
     141                @@endif // field.isLastField 
     142            @@else // field.isFirstField 
    143143        @!field.Name!@FieldId = @!field.prevField.Name!@FieldId + 1, 
    144 @@if field.isLastField 
     144                @@if field.isLastField 
    145145        NextFieldId = @!field.Name!@FieldId + 1 
    146 @@endif 
    147 @@endif 
    148 @@EndFieldLoop 
     146                @@endif // field.isLastField 
     147            @@endif // field.isFirstField 
     148        @@EndFieldLoop 
    149149    }; 
    150150 
    151 @@BeginFieldLoop 
     151        @@BeginFieldLoop 
    152152    static const OSG::BitVector @!field.Name!@FieldMask = 
    153153        (TypeTraits<BitVector>::One << @!field.Name!@FieldId); 
    154 @@EndFieldLoop 
     154        @@EndFieldLoop 
    155155    static const OSG::BitVector NextFieldMask = 
    156156        (TypeTraits<BitVector>::One << NextFieldId); 
    157 @@endif 
    158 @@endif 
     157    @@endif // hasFields 
     158@@endif // isDecorator 
    159159 
    160160    /*---------------------------------------------------------------------*/ 
     
    182182    /*! \{                                                                 */ 
    183183 
    184 @@if isDecorator 
     184    @@if isDecorator 
    185185    @!MethodType:7!@       const SF@!Parent!@Ptr *getSFDecoratee(void) const; 
    186 @@endif 
    187 @@BeginFieldLoop@@ 
    188 @@if field.isPublic 
    189 @@if field.isPtrField 
     186    @@endif // isDecorator 
     187    @@BeginFieldLoop@@ 
     188        @@if field.isPublic 
     189            @@if field.isPtrField 
    190190    @!field.MethodType:7!@ const @!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void) const; 
    191 @@else 
    192  
    193 @@if CompatOneSix 
     191            @@else // field.isPtrField 
     192 
     193                @@if CompatOneSix 
    194194#ifdef OSG_1_COMPAT 
    195195    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void); 
    196196#endif 
    197 @@endif 
     197                @@endif // CompatOneSix 
    198198    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *edit@!field.CARD!@@!field.Name:15!@(void); 
    199199    @!field.MethodType:7!@ const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void) const; 
    200 @@endif 
    201 @@endif 
    202 @@EndFieldLoop@@ 
    203  
    204 @@if isDecorator 
     200            @@endif // field.isPtrField 
     201        @@endif // field.isPublic 
     202    @@EndFieldLoop@@ 
     203 
     204    @@if isDecorator 
    205205    @!MethodType:7!@             @!Parent!@PtrConst getDecoratee(void) const; 
    206 @@endif 
    207 @@BeginFieldLoop@@ 
    208 @@if field.isPublic 
    209 @@if field.isSField 
    210  
    211 @@if field.isPtrField 
     206    @@endif // isDecorator 
     207    @@BeginFieldLoop@@ 
     208        @@if field.isPublic 
     209            @@if field.isSField 
     210 
     211                @@if field.isPtrField 
    212212    @!field.MethodType:7!@       @!field.Type!@Const get@!field.Name:15!@(void) const; 
    213 @@else 
    214 @@if CompatOneSix 
     213                @@else // field.isPtrField 
     214                    @@if CompatOneSix 
    215215#ifdef OSG_1_COMPAT 
    216216    @!field.MethodType:7!@       @!field.Type:19!@ &get@!field.Name:15!@ (void); 
    217217#endif 
    218 @@endif 
     218                    @@endif // CompatOneSix 
    219219    @!field.MethodType:7!@       @!field.Type:19!@ &edit@!field.Name:15!@(void); 
    220220    @!field.MethodType:7!@ const @!field.Type:19!@ &get@!field.Name:15!@ (void) const; 
    221 @@endif 
    222 @@else 
    223  
    224 @@if field.isPtrField 
     221                @@endif // field.isPtrField 
     222            @@else // field.isSField 
     223 
     224                @@if field.isPtrField 
    225225    @!field.MethodType:7!@       @!field.Type!@Const get@!field.Name:15!@(const UInt32 index) const; 
    226 @@else 
    227 @@if CompatOneSix 
     226                @@else // field.isPtrField 
     227                    @@if CompatOneSix 
    228228#ifdef OSG_1_COMPAT 
    229229    @!field.MethodType:7!@       @!field.Type:19!@ &get@!field.Name:15!@ (const UInt32 index); 
    230230    @!field.MethodType:7!@       @!field.CARD!@@!field.TypeCaps:17!@ &get@!field.Name:15!@(void); 
    231231#endif 
    232 @@endif 
     232                    @@endif // CompatOneSix 
    233233    @!field.MethodType:7!@       @!field.Type:19!@ &edit@!field.Name:15!@(const UInt32 index); 
    234234    @!field.MethodType:7!@ const @!field.Type:19!@ &get@!field.Name:15!@ (const UInt32 index) const; 
    235235    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ &edit@!field.Name:15!@(void); 
    236 @@endif 
     236                @@endif // field.isPtrField 
    237237    @!field.MethodType:7!@ const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ &get@!field.Name:15!@(void) const; 
    238 @@endif 
    239 @@endif 
    240 @@EndFieldLoop@@ 
     238            @@endif // field.isSField 
     239        @@endif // field.isPublic 
     240    @@EndFieldLoop@@ 
    241241 
    242242    /*! \}                                                                 */ 
     
    245245    /*! \{                                                                 */ 
    246246 
    247 @@if isDecorator 
     247    @@if isDecorator 
    248248    @!MethodType:7!@       void setDecoratee      ( const @!Parent!@Ptr &value ); 
    249 @@endif 
    250 @@BeginSFFieldLoop@@ 
    251 @@if field.isPublic 
    252 @@if field.isPtrField 
    253 @@if field.PassFieldMask 
     249    @@endif // isDecorator 
     250    @@BeginSFFieldLoop@@ 
     251        @@if field.isPublic 
     252            @@if field.isPtrField 
     253                @@if field.PassFieldMask 
    254254    @!field.MethodType:7!@ void set@!field.Name:15!@(      @!field.Type!@ConstArg value, 
    255255                    const UInt16        uiStoredInFieldId = InvalidParentEPos); 
    256 @@else 
     256                @@else // field.PassFieldMask 
    257257    @!field.MethodType:7!@ void set@!field.Name:15!@(@!field.Type!@ConstArg value); 
    258 @@endif 
    259 @@else 
     258                @@endif // field.PassFieldMask 
     259            @@else // field.isPtrField 
    260260    @!field.MethodType:7!@ void set@!field.Name:15!@(const @!field.Type!@ &value); 
    261 @@endif 
    262 @@endif 
    263 @@EndSFFieldLoop@@ 
    264  
    265     /*! \}                                                                 */ 
    266 @@if hasPtrFields 
     261            @@endif // field.isPtrField 
     262        @@endif // field.isPublic 
     263    @@EndSFFieldLoop@@ 
     264 
     265    /*! \}                                                                 */ 
     266    @@if hasPtrFields 
    267267    /*---------------------------------------------------------------------*/ 
    268268    /*! \name                Ptr Field Set                                 */ 
     
    293293 
    294294    /*! \}                                                                 */ 
     295    @@endif // hasPtrFields 
    295296    /*---------------------------------------------------------------------*/ 
    296297    /*! \name                Ptr MField Set                                */ 
    297298    /*! \{                                                                 */ 
    298299 
    299 @@BeginMFFieldLoop@@ 
    300 @@if field.isPublic 
    301 @@if field.isPtrField 
    302 @@if field.writePushToField 
     300    @@BeginMFFieldLoop@@ 
     301        @@if field.isPublic 
     302            @@if field.isPtrField 
     303                @@if field.writePushToField 
    303304    void @!field.PushToField:15!@           (@!field.Type!@ConstArg value   ); 
    304 @@endif 
    305 @@if field.writeInsertIntoMField 
     305                @@endif // field.writePushToField 
     306                @@if field.writeInsertIntoMField 
    306307    void @!field.InsertIntoMField:15!@      (UInt32                uiIndex, 
    307308                                             @!field.Type!@ConstArg value   ); 
    308 @@endif 
    309 @@if field.writeReplaceInMFieldIndex 
     309                @@endif // field.writeInsertIntoMField 
     310                @@if field.writeReplaceInMFieldIndex 
    310311    void @!field.ReplaceInMFieldIndex:15!@  (UInt32                uiIndex, 
    311312                                             @!field.Type!@ConstArg value   ); 
    312 @@endif 
    313 @@if field.writeReplaceInMFieldObject 
     313                @@endif // field.writeReplaceInMFieldIndex 
     314                @@if field.writeReplaceInMFieldObject 
    314315    void @!field.ReplaceInMFieldObject:15!@ (@!field.Type!@ConstArg pOldElem, 
    315316                                             @!field.Type!@ConstArg pNewElem); 
    316 @@endif 
    317 @@if field.writeRemoveFromMFieldIndex 
     317                @@endif // field.writeReplaceInMFieldObject 
     318                @@if field.writeRemoveFromMFieldIndex 
    318319    void @!field.RemoveFromMFieldIndex:15!@ (UInt32                uiIndex ); 
    319 @@endif 
    320 @@if field.writeRemoveFromMFieldObject 
     320                @@endif // field.writeRemoveFromMFieldIndex 
     321                @@if field.writeRemoveFromMFieldObject 
    321322    void @!field.RemoveFromMFieldObject:15!@(@!field.Type!@ConstArg value   ); 
    322 @@endif 
    323 @@if field.writeClearField 
     323                @@endif // field.writeRemoveFromMFieldObject 
     324                @@if field.writeClearField 
    324325    void @!field.ClearField:15!@            (void                          ); 
    325 @@endif 
    326  
    327 @@else 
    328  
    329 @@if field.writePushToField 
    330     void @!field.PushToField:15!@           (const @!field.Type!@& value   ); 
    331 @@endif 
    332 @@if field.writeInsertIntoMField 
    333     void @!field.InsertIntoMField:15!@      (UInt32                uiIndex, 
    334                                              const @!field.Type!@& value   ); 
    335 @@endif 
    336 @@if field.writeReplaceInMFieldIndex 
    337     void @!field.ReplaceInMFieldIndex:15!@  (UInt32                uiIndex, 
    338                                              const @!field.Type!@& value   ); 
    339 @@endif 
    340 @@if field.writeReplaceInMFieldObject 
    341     void @!field.ReplaceInMFieldObject:15!@ (const @!field.Type!@& pOldElem, 
    342                                              const @!field.Type!@& pNewElem); 
    343 @@endif 
    344 @@if field.writeRemoveFromMFieldIndex 
    345     void @!field.RemoveFromMFieldIndex:15!@ (UInt32                uiIndex ); 
    346 @@endif 
    347 @@if field.writeRemoveFromMFieldObject 
    348     void @!field.RemoveFromMFieldObject:15!@(const @!field.Type!@& value   ); 
    349 @@endif 
    350 @@if field.writeClearField 
    351     void @!field.ClearField:15!@            (void                          ); 
    352 @@endif 
    353  
    354  
    355 @@endif 
    356  
    357 @@endif 
    358  
    359 @@EndMFFieldLoop@@ 
    360 @@endif 
    361     /*! \}                                                                 */ 
    362 @@endif 
     326                @@endif // field.writeClearField 
     327 
     328            @@else // field.isPtrField 
     329 
     330                @@if field.writePushToField 
     331    void @!field.PushToField:34!@(const @!field.Type:10!@&value   ); 
     332                @@endif // field.writePushToField 
     333                @@if field.writeInsertIntoMField 
     334    void @!field.InsertIntoMField:34!@(      UInt32     uiIndex, 
     335                                            const @!field.Type:10!@&value   ); 
     336                @@endif // field.writeInsertIntoMField 
     337                @@if field.writeReplaceInMFieldIndex 
     338    void @!field.ReplaceInMFieldIndex:34!@(      UInt32     uiIndex, 
     339                                            const @!field.Type:10!@&value   ); 
     340                @@endif // field.writeReplaceInMFieldIndex 
     341                @@if field.writeReplaceInMFieldObject 
     342    void @!field.ReplaceInMFieldObject:34!@(const @!field.Type:10!@&pOldElem, 
     343                                            const @!field.Type:10!@&pNewElem); 
     344                @@endif // field.writeReplaceInMFieldObject 
     345                @@if field.writeRemoveFromMFieldIndex 
     346    void @!field.RemoveFromMFieldIndex:34!@(      UInt32     uiIndex ); 
     347                @@endif // field.writeRemoveFromMFieldIndex 
     348                @@if field.writeRemoveFromMFieldObject 
     349    void @!field.RemoveFromMFieldObject:34!@(const @!field.Type:10!@&value   ); 
     350                @@endif // field.writeRemoveFromMFieldObject 
     351                @@if field.writeClearField 
     352    void @!field.ClearField:34!@(      void               ); 
     353                @@endif // field.writeClearField 
     354 
     355            @@endif // field.isPtrField 
     356        @@endif // field.isPublic 
     357 
     358    @@EndMFFieldLoop@@ 
     359    /*! \}                                                                 */ 
     360@@endif // hasPublicFields 
    363361    /*---------------------------------------------------------------------*/ 
    364362    /*! \name                   Binary Access                              */ 
     
    389387 
    390388    /*! \}                                                                 */ 
    391 @@endif 
     389@@endif // !isAbstract 
    392390    /*=========================  PROTECTED  ===============================*/ 
    393391 
     
    404402    /*! \{                                                                 */ 
    405403 
    406 @@if isDecorator 
     404    @@if isDecorator 
    407405    SF@!Parent!@Ptr _sfDecoratee; 
    408 @@else 
    409 @@BeginFieldLoop@@ 
    410 @@if !field.isPrivate 
     406    @@else // isDecorator 
     407        @@BeginFieldLoop@@ 
     408            @@if !field.isPrivate 
    411409    @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:15!@ _@!field.VarName!@; 
    412 @@endif 
    413 @@EndFieldLoop@@ 
    414 @@endif 
    415  
    416     /*! \}                                                                 */ 
    417 @@endif 
     410            @@endif // !field.isPrivate 
     411        @@EndFieldLoop@@ 
     412    @@endif // isDecorator 
     413 
     414    /*! \}                                                                 */ 
     415@@endif // hasFields 
    418416    /*---------------------------------------------------------------------*/ 
    419417    /*! \name                   Constructors                               */ 
     
    437435@@if hasPtrFields 
    438436    void onCreate(const @!Classname!@ *source = NULL); 
    439 @@endif 
     437@@endif // hasPtrFields 
    440438 
    441439    /*! \}                                                                 */ 
     
    445443    /*! \{                                                                 */ 
    446444 
    447 @@BeginFieldLoop@@ 
    448 @@if field.isProtected 
    449 @@if field.isPtrField 
     445    @@BeginFieldLoop@@ 
     446        @@if field.isProtected 
     447            @@if field.isPtrField 
    450448    @!field.MethodType:7!@ const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void) const; 
    451 @@else 
    452  
    453 @@if CompatOneSix 
     449            @@else // field.isPtrField 
     450 
     451                @@if CompatOneSix 
    454452#ifdef OSG_1_COMPAT 
    455453    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void); 
    456454#endif 
    457 @@endif 
     455                @@endif // CompatOneSix 
    458456    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *edit@!field.CARD!@@!field.Name:15!@(void); 
    459457    @!field.MethodType:7!@ const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void) const; 
    460 @@endif 
    461 @@endif 
    462 @@EndFieldLoop@@ 
    463  
    464 @@BeginFieldLoop@@ 
    465 @@if field.isProtected 
    466 @@if field.isSField 
    467  
    468 @@if field.isPtrField 
     458            @@endif // field.isPtrField 
     459        @@endif // field.isProtected 
     460    @@EndFieldLoop@@ 
     461 
     462    @@BeginFieldLoop@@ 
     463        @@if field.isProtected 
     464            @@if field.isSField 
     465 
     466                @@if field.isPtrField 
    469467    @!field.MethodType:7!@       @!field.Type!@Const get@!field.Name:15!@(void) const; 
    470 @@else 
    471 @@if CompatOneSix 
     468                @@else // field.isPtrField 
     469                    @@if CompatOneSix 
    472470#ifdef OSG_1_COMPAT 
    473471    @!field.MethodType:7!@       @!field.Type:19!@ &get@!field.Name:15!@ (void); 
    474472#endif 
    475 @@endif 
     473                    @@endif // CompatOneSix 
    476474    @!field.MethodType:7!@       @!field.Type:19!@ &edit@!field.Name:15!@(void); 
    477475    @!field.MethodType:7!@ const @!field.Type:19!@ &get@!field.Name:15!@ (void) const; 
    478 @@endif 
    479 @@else 
    480  
    481 @@if field.isPtrField 
     476                @@endif // field.isPtrField 
     477            @@else // field.isSField 
     478 
     479                @@if field.isPtrField 
    482480    @!field.MethodType:7!@       @!field.Type!@Const get@!field.Name:15!@(const UInt32 index) const; 
    483 @@else 
    484 @@if CompatOneSix 
     481                @@else // field.isPtrField 
     482                    @@if CompatOneSix 
    485483#ifdef OSG_1_COMPAT 
    486484    @!field.MethodType:7!@       @!field.Type:19!@ &get@!field.Name:15!@ (const UInt32 index); 
    487485    @!field.MethodType:7!@       @!field.CARD!@@!field.TypeCaps:17!@ &get@!field.Name:15!@(void); 
    488486#endif 
    489 @@endif 
     487                    @@endif // CompatOneSix 
    490488    @!field.MethodType:7!@       @!field.Type:19!@ &edit@!field.Name:15!@(const UInt32 index); 
    491489    @!field.MethodType:7!@ const @!field.Type:19!@ &get@!field.Name:15!@ (const UInt32 index) const; 
    492490    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ &edit@!field.Name:15!@(void); 
    493 @@endif 
     491                @@endif // field.isPtrField 
    494492    @!field.MethodType:7!@ const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ &get@!field.Name:15!@ (void) const; 
    495 @@endif 
    496 @@endif 
    497 @@EndFieldLoop@@ 
     493            @@endif // field.isSField 
     494        @@endif // field.isProtected 
     495    @@EndFieldLoop@@ 
    498496 
    499497    /*! \}                                                                 */ 
     
    502500    /*! \{                                                                 */ 
    503501 
    504 @@BeginSFFieldLoop@@ 
    505 @@if field.isProtected 
    506 @@if field.isPtrField 
     502    @@BeginSFFieldLoop@@ 
     503        @@if field.isProtected 
     504            @@if field.isPtrField 
    507505    @!field.MethodType:7!@ void set@!field.Name:15!@(@!field.Type!@ConstArg value); 
    508 @@else 
     506            @@else // field.isPtrField 
    509507    @!field.MethodType:7!@ void set@!field.Name:15!@(const @!field.Type!@ &value); 
    510 @@endif 
    511 @@endif 
    512 @@EndSFFieldLoop@@ 
     508            @@endif // field.isPtrField 
     509        @@endif // field.isProtected 
     510    @@EndSFFieldLoop@@ 
    513511 
    514512    /*! \}                                                                 */ 
     
    517515    /*! \{                                                                 */ 
    518516 
    519 @@BeginMFFieldLoop@@ 
    520 @@if field.isProtected 
    521 @@if field.isPtrField 
    522 @@if field.writePushToField 
     517    @@BeginMFFieldLoop@@ 
     518        @@if field.isProtected 
     519            @@if field.isPtrField 
     520                @@if field.writePushToField 
    523521    void @!field.PushToField:15!@           (@!field.Type!@ConstArg value   ); 
    524 @@endif 
    525 @@if field.writeInsertIntoMField 
     522                @@endif // field.writePushToField 
     523                @@if field.writeInsertIntoMField 
    526524    void @!field.InsertIntoMField:15!@      (UInt32                uiIndex, 
    527525                                             @!field.Type!@ConstArg value   ); 
    528 @@endif 
    529 @@if field.writeReplaceInMFieldIndex 
     526                @@endif // field.writeInsertIntoMField 
     527                @@if field.writeReplaceInMFieldIndex 
    530528    void @!field.ReplaceInMFieldIndex:15!@  (UInt32                uiIndex, 
    531529                                             @!field.Type!@ConstArg value   ); 
    532 @@endif 
    533 @@if field.writeReplaceInMFieldObject 
     530                @@endif // field.writeReplaceInMFieldIndex 
     531                @@if field.writeReplaceInMFieldObject 
    534532    void @!field.ReplaceInMFieldObject:15!@ (@!field.Type!@ConstArg pOldElem, 
    535533                                             @!field.Type!@ConstArg pNewElem); 
    536 @@endif 
    537 @@if field.writeRemoveFromMFieldIndex 
     534                @@endif // field.writeReplaceInMFieldObject 
     535                @@if field.writeRemoveFromMFieldIndex 
    538536    void @!field.RemoveFromMFieldIndex:15!@ (UInt32                uiIndex ); 
    539 @@endif 
    540 @@if field.writeRemoveFromMFieldObject 
     537                @@endif // field.writeRemoveFromMFieldIndex 
     538                @@if field.writeRemoveFromMFieldObject 
    541539    void @!field.RemoveFromMFieldObject:15!@(@!field.Type!@ConstArg value   ); 
    542 @@endif 
    543 @@if field.writeClearField 
     540                @@endif // field.writeRemoveFromMFieldObject 
     541                @@if field.writeClearField 
    544542    void @!field.ClearField:15!@            (void                          ); 
    545 @@endif 
    546  
    547 @@else 
    548  
    549 @@if field.writePushToField 
     543                @@endif // field.writeClearField 
     544 
     545            @@else // field.isPtrField 
     546 
     547                @@if field.writePushToField 
    550548    void @!field.PushToField:15!@           (const @!field.Type!@& value   ); 
    551 @@endif 
    552 @@if field.writeInsertIntoMField 
     549                @@endif // field.writePushToField 
     550                @@if field.writeInsertIntoMField 
    553551    void @!field.InsertIntoMField:15!@      (UInt32                uiIndex, 
    554552                                             const @!field.Type!@& value   ); 
    555 @@endif 
    556 @@if field.writeReplaceInMFieldIndex 
     553                @@endif // field.writeInsertIntoMField 
     554                @@if field.writeReplaceInMFieldIndex 
    557555    void @!field.ReplaceInMFieldIndex:15!@  (UInt32                uiIndex, 
    558556                                             const @!field.Type!@& value   ); 
    559 @@endif 
    560 @@if field.writeReplaceInMFieldObject 
     557                @@endif // field.writeReplaceInMFieldIndex 
     558                @@if field.writeReplaceInMFieldObject 
    561559    void @!field.ReplaceInMFieldObject:15!@ (const @!field.Type!@& pOldElem, 
    562560                                             const @!field.Type!@& pNewElem); 
    563 @@endif 
    564 @@if field.writeRemoveFromMFieldIndex 
     561                @@endif // field.writeReplaceInMFieldObject 
     562                @@if field.writeRemoveFromMFieldIndex 
    565563    void @!field.RemoveFromMFieldIndex:15!@ (UInt32                uiIndex ); 
    566 @@endif 
    567 @@if field.writeRemoveFromMFieldObject 
     564                @@endif // field.writeRemoveFromMFieldIndex 
     565                @@if field.writeRemoveFromMFieldObject 
    568566    void @!field.RemoveFromMFieldObject:15!@(const @!field.Type!@& value   ); 
    569 @@endif 
    570 @@if field.writeClearField 
     567                @@endif // field.writeRemoveFromMFieldObject 
     568                @@if field.writeClearField 
    571569    void @!field.ClearField:15!@            (void                          ); 
    572 @@endif 
    573  
    574 @@endif 
    575 @@endif 
    576  
    577 @@EndMFFieldLoop@@ 
    578  
    579     /*! \}                                                                 */ 
    580 @@endif 
     570                @@endif // field.writeClearField 
     571 
     572            @@endif // field.isPtrField 
     573        @@endif // field.isProtected 
     574 
     575    @@EndMFFieldLoop@@ 
     576 
     577    /*! \}                                                                 */ 
     578@@endif // hasProtectedFields 
    581579    /*---------------------------------------------------------------------*/ 
    582580    /*! \name                       Sync                                   */ 
     
    634632    virtual FieldContainerPtr createAspectCopy(void) const; 
    635633#endif 
    636 @@endif 
     634@@endif // !isAbstract 
    637635 
    638636    /*! \}                                                                 */ 
     
    657655    /*! \{                                                                 */ 
    658656 
    659 @@if !isDecorator 
    660 @@BeginFieldLoop@@ 
    661 @@if field.isPrivate 
     657    @@if !isDecorator 
     658        @@BeginFieldLoop@@ 
     659            @@if field.isPrivate 
    662660    @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:15!@ _@!field.VarName!@; 
    663 @@endif 
    664 @@EndFieldLoop@@ 
    665 @@endif 
     661            @@endif // field.isPrivate 
     662        @@EndFieldLoop@@ 
     663    @@endif // !isDecorator 
    666664 
    667665    /*! \}                                                                 */ 
     
    670668    /*! \{                                                                 */ 
    671669 
    672 @@BeginFieldLoop@@ 
    673 @@if field.isPrivate 
    674 @@if field.isPtrField 
     670    @@BeginFieldLoop@@ 
     671        @@if field.isPrivate 
     672            @@if field.isPtrField 
    675673    @!field.MethodType:7!@ const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void) const; 
    676 @@else 
    677  
    678 @@if CompatOneSix 
     674            @@else // field.isPtrField 
     675 
     676                @@if CompatOneSix 
    679677#ifdef OSG_1_COMPAT 
    680678    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void); 
    681679#endif 
    682 @@endif 
     680                @@endif // CompatOneSix 
    683681    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *edit@!field.CARD!@@!field.Name:15!@(void); 
    684682    @!field.MethodType:7!@ const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ *get@!field.CARD!@@!field.Name:15!@ (void) const; 
    685 @@endif 
    686 @@endif 
    687 @@EndFieldLoop@@ 
    688 @@BeginFieldLoop@@ 
    689 @@if field.isPrivate 
    690 @@if field.isSField 
    691  
    692 @@if field.isPtrField 
     683            @@endif // field.isPtrField 
     684        @@endif // field.isPrivate 
     685    @@EndFieldLoop@@ 
     686    @@BeginFieldLoop@@ 
     687        @@if field.isPrivate 
     688            @@if field.isSField 
     689 
     690                @@if field.isPtrField 
    693691    @!field.MethodType:7!@       @!field.Type!@Const get@!field.Name:15!@(void) const; 
    694 @@else 
    695 @@if CompatOneSix 
     692                @@else // field.isPtrField 
     693                    @@if CompatOneSix 
    696694#ifdef OSG_1_COMPAT 
    697695    @!field.MethodType:7!@       @!field.Type:19!@ &get@!field.Name:15!@(void); 
    698696#endif 
    699 @@endif 
     697                    @@endif // CompatOneSix 
    700698    @!field.MethodType:7!@       @!field.Type:19!@ &edit@!field.Name:15!@(void); 
    701699    @!field.MethodType:7!@ const @!field.Type:19!@ &get@!field.Name:15!@(void) const; 
    702 @@endif 
    703 @@else 
    704  
    705 @@if field.isPtrField 
     700                @@endif // field.isPtrField 
     701            @@else // field.isSField 
     702 
     703                @@if field.isPtrField 
    706704    @!field.MethodType:7!@       @!field.Type!@Const get@!field.Name:15!@(const UInt32 index) const; 
    707 @@else 
    708 @@if CompatOneSix 
     705                @@else // field.isPtrField 
     706                    @@if CompatOneSix 
    709707#ifdef OSG_1_COMPAT 
    710708    @!field.MethodType:7!@       @!field.Type:19!@ &get@!field.Name:15!@ (const UInt32 index); 
    711709    @!field.MethodType:7!@       @!field.CARD!@@!field.TypeCaps:17!@ &get@!field.Name:15!@(void); 
    712710#endif 
    713 @@endif 
     711                    @@endif // CompatOneSix 
    714712    @!field.MethodType:7!@       @!field.Type:19!@ &edit@!field.Name:15!@(const UInt32 index); 
    715713    @!field.MethodType:7!@ const @!field.Type:19!@ &get@!field.Name:15!@ (const UInt32 index) const; 
    716714    @!field.MethodType:7!@       @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ &get@!field.Name:15!@(void); 
    717 @@endif 
     715                @@endif // field.isPtrField 
    718716    @!field.MethodType:7!@ const @!field.TypeNamespace!@@!field.CARD!@@!field.TypeCaps:17!@ &get@!field.Name:15!@(void) const; 
    719 @@endif 
    720 @@endif 
    721 @@EndFieldLoop@@ 
     717            @@endif // field.isSField 
     718        @@endif // field.isPrivate 
     719    @@EndFieldLoop@@ 
    722720 
    723721    /*! \}                                                                 */ 
     
    726724    /*! \{                                                                 */ 
    727725 
    728 @@BeginSFFieldLoop@@ 
    729 @@if field.isPrivate 
    730 @@if field.isPtrField 
     726    @@BeginSFFieldLoop@@ 
     727        @@if field.isPrivate 
     728            @@if field.isPtrField 
    731729    @!field.MethodType:7!@ void set@!field.Name:15!@(@!field.Type!@ConstArg value); 
    732 @@else 
     730            @@else // field.isPtrField 
    733731    @!field.MethodType:7!@ void set@!field.Name:15!@(const @!field.Type!@ &value); 
    734 @@endif 
    735 @@endif 
    736 @@EndSFFieldLoop@@ 
     732            @@endif // field.isPtrField 
     733        @@endif // field.isPrivate 
     734    @@EndSFFieldLoop@@ 
    737735 
    738736    /*! \}                                                                 */ 
     
    741739    /*! \{                                                                 */ 
    742740 
    743 @@BeginMFFieldLoop@@ 
    744 @@if field.isPrivate 
    745  
    746 @@if field.isPtrField 
    747 @@if field.writePushToField 
     741    @@BeginMFFieldLoop@@ 
     742        @@if field.isPrivate 
     743 
     744            @@if field.isPtrField 
     745                @@if field.writePushToField 
    748746    void @!field.PushToField:15!@           (@!field.Type!@ConstArg value   ); 
    749 @@endif 
    750 @@if field.writeInsertIntoMField 
     747                @@endif // field.writePushToField 
     748                @@if field.writeInsertIntoMField 
    751749    void @!field.InsertIntoMField:15!@      (UInt32                uiIndex, 
    752750                                             @!field.Type!@ConstArg value   ); 
    753 @@endif 
    754 @@if field.writeReplaceInMFieldIndex 
     751                @@endif // field.writeInsertIntoMField 
     752                @@if field.writeReplaceInMFieldIndex 
    755753    void @!field.ReplaceInMFieldIndex:15!@  (UInt32                uiIndex, 
    756754                                             @!field.Type!@ConstArg value   ); 
    757 @@endif 
    758 @@if field.writeReplaceInMFieldObject 
     755                @@endif // field.writeReplaceInMFieldIndex 
     756                @@if field.writeReplaceInMFieldObject 
    759757    void @!field.ReplaceInMFieldObject:15!@ (@!field.Type!@ConstArg pOldElem, 
    760758                                             @!field.Type!@ConstArg pNewElem); 
    761 @@endif 
    762 @@if field.writeRemoveFromMFieldIndex 
     759                @@endif // field.writeReplaceInMFieldObject 
     760                @@if field.writeRemoveFromMFieldIndex 
    763761    void @!field.RemoveFromMFieldIndex:15!@ (UInt32                uiIndex ); 
    764 @@endif 
    765 @@if field.writeRemoveFromMFieldObject 
     762                @@endif // field.writeRemoveFromMFieldIndex 
     763                @@if field.writeRemoveFromMFieldObject 
    766764    void @!field.RemoveFromMFieldObject:15!@(@!field.Type!@ConstArg value   ); 
    767 @@endif 
    768 @@if field.writeClearField 
     765                @@endif // field.writeRemoveFromMFieldObject 
     766                @@if field.writeClearField 
    769767    void @!field.ClearField:15!@            (void                          ); 
    770 @@endif 
    771  
    772 @@else 
    773  
    774 @@if field.writePushToField 
     768                @@endif // field.writeClearField 
     769 
     770            @@else // field.isPtrField 
     771 
     772                @@if field.writePushToField 
    775773    void @!field.PushToField:15!@           (const @!field.Type!@& value   ); 
    776 @@endif 
    777 @@if field.writeInsertIntoMField 
     774                @@endif // field.writePushToField 
     775                @@if field.writeInsertIntoMField 
    778776    void @!field.InsertIntoMField:15!@      (UInt32                uiIndex, 
    779777                                             const @!field.Type!@& value   ); 
    780 @@endif 
    781 @@if field.writeReplaceInMFieldIndex 
     778                @@endif // field.writeInsertIntoMField 
     779                @@if field.writeReplaceInMFieldIndex 
    782780    void @!field.ReplaceInMFieldIndex:15!@  (UInt32                uiIndex, 
    783781                                             const @!field.Type!@& value   ); 
    784 @@endif 
    785 @@if field.writeReplaceInMFieldObject 
     782                @@endif // field.writeReplaceInMFieldIndex 
     783                @@if field.writeReplaceInMFieldObject 
    786784    void @!field.ReplaceInMFieldObject:15!@ (const @!field.Type!@& pOldElem, 
    787785                                             const @!field.Type!@& pNewElem); 
    788 @@endif 
    789 @@if field.writeRemoveFromMFieldIndex 
     786                @@endif // field.writeReplaceInMFieldObject 
     787                @@if field.writeRemoveFromMFieldIndex 
    790788    void @!field.RemoveFromMFieldIndex:15!@ (UInt32                uiIndex ); 
    791 @@endif 
    792 @@if field.writeRemoveFromMFieldObject 
     789                @@endif // field.writeRemoveFromMFieldIndex 
     790                @@if field.writeRemoveFromMFieldObject 
    793791    void @!field.RemoveFromMFieldObject:15!@(const @!field.Type!@& value    ); 
    794 @@endif 
    795 @@if field.writeClearField 
     792                @@endif // field.writeRemoveFromMFieldObject 
     793                @@if field.writeClearField 
    796794    void @!field.ClearField:15!@            (void                          ); 
    797 @@endif 
    798  
    799  
    800 @@endif 
    801 @@endif 
    802  
    803 @@EndMFFieldLoop@@ 
    804  
    805     /*! \}                                                                 */ 
    806 @@endif 
     795                @@endif // field.writeClearField 
     796 
     797            @@endif // field.isPtrField 
     798        @@endif // field.isPrivate 
     799 
     800    @@EndMFFieldLoop@@ 
     801 
     802    /*! \}                                                                 */ 
     803@@endif // hasPrivateFields 
    807804 
    808805    // prohibit default functions (move to 'public' if you need one)