root/branches/Carsten_PtrWork2/Tools/fcd2code/TemplateFieldBundleBase_h.txt

Revision 1032, 45.2 kB (checked in by cneumann, 1 year ago)

added: generic interface
changed: factory functions return RefPtr?

The unittests don't pass right now, because of the change
to the factory functions, which leads to containers
being immediately destroyed as they are not assigned to
a RefPtr?.

Line 
1 /*---------------------------------------------------------------------------*\
2  *                                OpenSG                                     *
3  *                                                                           *
4  *                                                                           *
5  *               Copyright (C) 2000-2006 by the OpenSG Forum                 *
6  *                                                                           *
7  *                            www.opensg.org                                 *
8  *                                                                           *
9  *   contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de          *
10  *                                                                           *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
13  *                                License                                    *
14  *                                                                           *
15  * This library is free software; you can redistribute it and/or modify it   *
16  * under the terms of the GNU Library General Public License as published    *
17  * by the Free Software Foundation, version 2.                               *
18  *                                                                           *
19  * This library is distributed in the hope that it will be useful, but       *
20  * WITHOUT ANY WARRANTY; without even the implied warranty of                *
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         *
22  * Library General Public License for more details.                          *
23  *                                                                           *
24  * You should have received a copy of the GNU Library General Public         *
25  * License along with this library; if not, write to the Free Software       *
26  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                 *
27  *                                                                           *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
30  *                                Changes                                    *
31  *                                                                           *
32  *                                                                           *
33  *                                                                           *
34  *                                                                           *
35  *                                                                           *
36  *                                                                           *
37 \*---------------------------------------------------------------------------*/
38
39 /*****************************************************************************\
40  *****************************************************************************
41  **                                                                         **
42  **                  This file is automatically generated.                  **
43  **                                                                         **
44  **          Any changes made to this file WILL be lost when it is          **
45  **           regenerated, which can become necessary at any time.          **
46  **                                                                         **
47  **     Do not change this file, changes should be done in the derived      **
48  **     class @!Classname!@
49  **                                                                         **
50  *****************************************************************************
51 \*****************************************************************************/
52
53
54 #ifndef _OSG@!CLASSNAME!@BASE_H_
55 #define _OSG@!CLASSNAME!@BASE_H_
56 #ifdef __sgi
57 #pragma once
58 #endif
59
60
61 #include "@!HeaderPrefix!@OSGConfig.h"
62 @@if @!isInLibrary!@
63 #include "OSG@!Libname!@Def.h"
64 @@endif // isInLibrary
65
66 #include "@!HeaderPrefix!@OSGBaseTypes.h"
67
68 #include "@!ParentHeaderPrefix!@OSG@!Parent!@.h" // Parent
69
70 @@if not @!isDecorator!@
71     @@BeginFieldLoop@@
72 #include "@!field.TypeInclude!@" // @!field.Name!@ type
73     @@EndFieldLoop@@
74 @@else // !isDecorator
75 #include "OSG@!Parent!@Fields.h" // Decoratee type
76 @@endif // !isDecorator
77
78 #include "OSG@!Classname!@Fields.h"
79 @@if @!hasMixinParent!@
80
81 #include "OSG@!MixinParent!@.h"
82 @@endif
83
84 OSG_BEGIN_NAMESPACE
85
86 class @!Classname!@;
87
88 //! \brief @!Classname!@ Base Class.
89
90 @@if @!hasMixinParent!@
91     @@if @!isInLibrary!@
92 class OSG_@!LIBNAME!@_DLLMAPPING @!Classname!@Base : public @!MixinParent!@
93     @@else // isInLibrary
94 class @!Classname!@Base : public @!MixinParent!@
95     @@endif // isInLibrary
96 @@else // hasMixinParent
97     @@if @!isInLibrary!@
98 class OSG_@!LIBNAME!@_DLLMAPPING @!Classname!@Base : public @!Parent!@
99     @@else // isInLibrary
100 class @!Classname!@Base : public @!Parent!@
101     @@endif // isInLibrary
102 @@endif // hasMixinParent
103 {
104     /*==========================  PUBLIC  =================================*/
105   public:
106     /*---------------------------------------------------------------------*/
107     /*! \name Public Types                                                 */
108     /*! \{                                                                 */
109    
110 @@if @!hasMixinParent!@
111     typedef @!MixinParent!@ Inherited;
112 @@else
113     typedef @!Parent!@ Inherited;
114 @@endif
115     typedef @!Parent!@ ParentContainer;
116
117     typedef Inherited::TypeObject TypeObject;
118     typedef TypeObject::InitPhase InitPhase;
119        
120 @@if @!isDecorator!@
121     typedef SF@!Parent!@InternalPtr DecorateeFieldType;
122 @@else // @!isDecorator!@
123     @@BeginFieldLoop@@
124     typedef @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps:20!@ @!field.Name!@FieldType;
125     @@EndFieldLoop@@
126 @@endif
127    
128     OSG_GEN_INTERNALP(@!Classname!@);
129
130     typedef WeakRefCountPtrBuilder<@!Classname!@, FieldBundle>::Ptr ObjWeakRefP;
131     typedef MTRefCountPtrBuilder  <@!Classname!@, FieldBundle>::Ptr ObjMTRefP;
132     typedef RefCountPtrBuilder    <@!Classname!@, FieldBundle>::Ptr ObjRefP;
133     typedef ParentPtrBuilder      <@!Classname!@             >::Ptr ObjParentP;
134    
135     /*! \}                                                                 */
136     /*---------------------------------------------------------------------*/
137     /*! \name Constants                                                    */
138     /*! \{                                                                 */
139
140 @@if @!isDecorator!@
141     enum
142     {
143         DecorateeFieldId        = Inherited::NextFieldId,
144         NextFieldId             = DecorateeFieldId          + 1
145     };
146
147     static const OSG::BitVector DecorateeFieldMask =
148         (TypeTraits<BitVector>::One << DecorateeFieldId);
149        
150 @@else // isDecorator
151     @@if @!hasFields!@
152     enum
153     {
154         @@BeginFieldLoop@@
155             @@if @!field.isFirstField!@
156         @!field.Name!@FieldId = Inherited::NextFieldId,
157                 @@if @!field.isLastField!@
158         NextFieldId = @!field.Name!@FieldId + 1
159                 @@endif // field.isLastField
160             @@else // field.isFirstField
161         @!field.Name!@FieldId = @!field.prevField.Name!@FieldId + 1,
162                 @@if @!field.isLastField!@
163         NextFieldId = @!field.Name!@FieldId + 1
164                 @@endif // field.isLastField
165             @@endif // field.isFirstField
166         @@EndFieldLoop@@
167     };
168
169         @@BeginFieldLoop@@
170     static const OSG::BitVector @!field.Name!@FieldMask =
171         (TypeTraits<BitVector>::One << @!field.Name!@FieldId);
172         @@EndFieldLoop@@
173     static const OSG::BitVector NextFieldMask =
174         (TypeTraits<BitVector>::One << NextFieldId);
175        
176     @@endif // hasFields
177 @@endif // isDecorator
178     /*! \}                                                                 */
179     /*---------------------------------------------------------------------*/
180     /*! \name Class Get                                                    */
181     /*! \{                                                                 */
182
183     static FieldBundleType &getClassType   (void);
184     static UInt32           getClassTypeId (void);
185     static UInt16           getClassGroupId(void);
186
187     /*! \}                                                                 */
188     /*---------------------------------------------------------------------*/
189     /*! \name FieldBundle Get                                              */
190     /*! \{                                                                 */
191
192     virtual FieldBundleType       &getType         (void);
193     virtual FieldBundleType const &getType         (void) const;
194
195     virtual UInt32                 getContainerSize(void) const;
196
197     /*! \}                                                                 */
198 @@if @!hasPublicFields!@
199     @@if @!isDecorator!@
200     /*---------------------------------------------------------------------*/
201     /*! \name Field Decoratee                                              */
202     /*! \{                                                                 */
203    
204     @!MethodType:7!@ SF@!Parent!@InternalPtr                  const *getSFDecoratee(void) const;
205     @!MethodType:7!@ SF@!Parent!@InternalPtr::const_reference        getDecoratee  (void) const;
206    
207     @!MethodType:7!@ void setDecoratee(SF@!Parent!@InternalPtr::ArgumentType value);
208    
209     /*! \}                                                                 */
210     @@endif // isDecorator
211     @@BeginFieldLoop@@
212         @@if @!field.access!@ == "public"
213     /*---------------------------------------------------------------------*/
214     /*! \name Field @!field.CARD!@@!field.Name:52!@ */
215     /*! \{                                                                 */
216    
217             @@if @!field.category!@ == "data"                                                // DATA Field functions
218                 @@if @!field.cardinality!@ == "single"                                       // DATA SField functions
219     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@             *edit@!field.CARD!@@!field.Name!@(void);
220     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const       *get@!field.CARD!@@!field.Name!@ (void) const;
221                     @@if @!CompatOneSix!@
222 #ifdef OSG_1_GET_COMPAT
223     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@             *get@!field.CARD!@@!field.Name!@ (void);
224 #endif
225                     @@endif // CompatOneSix
226     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(void);
227     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (void) const;
228                     @@if @!CompatOneSix!@
229 #ifdef OSG_1_GET_COMPAT
230     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       get@!field.Name!@ (void);
231 #endif
232                     @@endif // CompatOneSix
233     @!field.MethodType:7!@ void set@!field.Name!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
234                 @@else // @!field.cardinality!@ == "single"                                 // DATA MField functions
235     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
236     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@ (void) const;
237                     @@if @!CompatOneSix!@
238 #ifdef OSG_1_GET_COMPAT
239     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
240 #endif
241                     @@endif // CompatOneSix
242     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                 &edit@!field.Name!@(void);
243     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const           &get@!field.Name!@ (void) const;
244     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(UInt32 const index);
245     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (UInt32 const index) const;
246                     @@if @!CompatOneSix!@
247 #ifdef OSG_1_GET_COMPAT
248     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       get@!field.Name!@ (UInt32 const index);
249     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                 &get@!field.Name!@ (void);
250 #endif
251                     @@endif // CompatOneSix
252                 @@endif // @!field.cardinality!@ == "single"
253             @@endif // @!field.category!@ == "data"
254             @@if @!field.category!@ == "pointer" and @!field.pointertype!@ != "parent"      // POINTER Field functions
255                 @@if @!field.cardinality!@ == "single"                                      // POINTER SField functions
256     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
257     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@ (void) const;
258                     @@if @!CompatOneSix!@
259 #ifdef OSG_1_GET_COMPAT
260     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
261 #endif
262                     @@endif // CompatOneSix
263     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(void);
264     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (void) const;
265                     @@if @!CompatOneSix!@
266 #ifdef OSG_1_GET_COMPAT
267     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldType!@::reference       get@!field.Name!@ (void);
268 #endif
269                     @@endif // CompatOneSix
270     @!field.MethodType:7!@ void set@!field.Name!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
271                 @@else // @!field.cardinality!@ == "single"                                 // POINTER MField functions
272     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
273     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
274                     @@if @!CompatOneSix!@
275 #ifdef OSG_1_GET_COMPAT
276     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
277 #endif
278                     @@endif // CompatOneSix
279    
280     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                  &edit@!field.Name!@(void);
281     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const            &get@!field.Name!@ (void) const;
282     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference        edit@!field.Name!@(UInt32 const index);
283     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference  get@!field.Name!@ (UInt32 const index) const;
284                     @@if @!CompatOneSix!@
285 #ifdef OSG_1_GET_COMPAT
286     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference  get@!field.Name!@ (UInt32 const index);
287     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                  &get@!field.Name!@(void);
288 #endif
289                     @@endif // CompatOneSix
290    
291                     @@if @!field.writePushToField!@
292     void @!field.PushToField!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
293                     @@endif // field.writePushToField
294                     @@if @!field.writeAssignMField!@
295     void @!field.AssignMField!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const &value);
296                     @@endif // field.writeAssignMField
297                     @@if @!field.writeInsertIntoMField!@
298     void @!field.InsertIntoMField!@(
299             UInt32 const uiIndex,
300             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
301                     @@endif // field.writeInsertIntoMField
302                     @@if @!field.writeReplaceInMFieldIndex!@
303     void @!field.ReplaceInMFieldIndex!@(
304             UInt32 const uiIndex,
305             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
306                     @@endif // field.writeReplaceInMFieldIndex
307                     @@if @!field.writeReplaceInMFieldObject!@
308     bool @!field.ReplaceInMFieldObject!@(
309             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType pOldElem,
310             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType pNewElem);
311                     @@endif // field.writeReplaceInMFieldObject
312                     @@if @!field.writeRemoveFromMFieldIndex!@
313     void @!field.RemoveFromMFieldIndex!@(UInt32 const uiIndex);
314                     @@endif // field.writeRemoveFromMFieldIndex
315                     @@if @!field.writeRemoveFromMFieldObject!@
316     bool @!field.RemoveFromMFieldObject!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
317                     @@endif // field.writeRemoveFromMFieldObject
318                     @@if @!field.writeClearField!@
319     void @!field.ClearField!@(void);
320                     @@endif // field.writeClearField
321                 @@endif // @!field.cardinality!@ == "single"
322             @@endif // @!field.category!@ == "pointer" and @!field.pointertype!@ != "parent"
323             @@if @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"      // PARENTPOINTER Field functions
324                 @@if @!field.cardinality!@ == "single"                                      // PARENTPOINTER SField functions
325     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
326     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@(void) const;
327    
328                 @@else // @!field.cardinality!@ == "single"                                 // PARENTPOINTER MField functions
329     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
330     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const &get@!field.Name!@  (void) const;
331     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@(UInt32 const index) const;
332    
333                 @@endif // @!field.cardinality!@ == "single"
334             @@endif // @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"
335    
336     /*! \}                                                                 */
337         @@endif // field.access == "public"
338     @@EndFieldLoop@@
339    
340 @@endif // hasPublicFields
341     /*---------------------------------------------------------------------*/
342     /*! \name Binary Access                                                */
343     /*! \{                                                                 */
344
345     virtual UInt32 getBinSize (ConstFieldMaskArg  whichField);
346     virtual void   copyToBin  (BinaryDataHandler &pMem,
347                                ConstFieldMaskArg  whichField);
348     virtual void   copyFromBin(BinaryDataHandler &pMem,
349                                ConstFieldMaskArg  whichField);
350
351     /*! \}                                                                 */
352 @@if @!hasParentPtrFields!@
353     /*---------------------------------------------------------------------*/
354     /*! \name Parent linking                                               */
355     /*! \{                                                                 */
356
357     virtual bool linkParent  (ReflexiveContainer * const pParent,
358                               UInt16               const childrenFieldId,
359                               UInt16               const parentFieldId   );
360     virtual bool unlinkParent(ReflexiveContainer * const pParent,
361                               UInt16               const childrenFieldId,
362                               UInt16               const parentFieldId   );
363    
364     /*! \}                                                                 */
365 @@endif // @!hasParentPtrFields!@
366 @@if not @!isAbstract!@
367     /*---------------------------------------------------------------------*/
368     /*! \name Construction                                                 */
369     /*! \{                                                                 */
370
371     static  @!Classname!@P create     (void);
372     static  @!Classname!@P createEmpty(void);
373
374     /*! \}                                                                 */
375     /*---------------------------------------------------------------------*/
376     /*! \name Copy                                                         */
377     /*! \{                                                                 */
378
379     virtual FieldBundleP shallowCopy(void) const;
380
381     /*! \}                                                                 */
382 @@endif // not isAbstract
383     /*=========================  PROTECTED  ===============================*/
384   protected:
385
386     static TypeObject _type;
387
388     static void         classDescInserter(TypeObject &oType);
389     static Char8 const *getClassname     (void             );
390
391 @@if @!hasFields!@
392     /*---------------------------------------------------------------------*/
393     /*! \name Fields                                                       */
394     /*! \{                                                                 */
395
396     @@if @!isDecorator!@
397     SF@!Parent!@InternalPtr _sfDecoratee;
398     @@else // isDecorator
399         @@BeginFieldLoop@@
400             @@if @!field.access!@ != "private"
401     @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps:15!@ @!field.VarName!@;
402             @@endif // @!field.access!@ != "private"
403         @@EndFieldLoop@@
404     @@endif // isDecorator
405
406     /*! \}                                                                 */
407 @@endif // hasFields
408     /*---------------------------------------------------------------------*/
409     /*! \name Constructors                                                 */
410     /*! \{                                                                 */
411
412     @!Classname!@Base(void);
413     @!Classname!@Base(@!Classname!@Base const &source);
414
415     /*! \}                                                                 */
416     /*---------------------------------------------------------------------*/
417     /*! \name Destructors                                                  */
418     /*! \{                                                                 */
419
420     virtual ~@!Classname!@Base(void);
421
422     /*! \}                                                                 */
423     /*---------------------------------------------------------------------*/
424     /*! \name onCreate                                                     */
425     /*! \{                                                                 */
426
427 @@if @!hasPtrFields!@
428     void onCreate(@!Classname!@ const *source = NULL);
429 @@endif // hasPtrFields
430
431     /*! \}                                                                 */
432     /*---------------------------------------------------------------------*/
433     /*! \name Generic Field Access                                         */
434     /*! \{                                                                 */
435
436 @@if @!isDecorator!@
437     GetFieldHandlePtr  getHandleDecoratee (void) const;
438     EditFieldHandlePtr editHandleDecoratee(void);
439
440 @@endif // isDecorator
441 @@BeginFieldLoop@@
442     @@if @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"
443     GetFieldHandlePtr  getHandle@!field.Name:15!@(void) const;
444     @@else  // @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"
445     GetFieldHandlePtr  getHandle@!field.Name:15!@ (void) const;
446     EditFieldHandlePtr editHandle@!field.Name:15!@(void);
447     @@endif // @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"
448 @@EndFieldLoop@@
449
450     /*! \}                                                                 */
451 @@if @!hasProtectedFields!@
452     @@BeginFieldLoop@@
453         @@if @!field.access!@ == "protected"
454     /*---------------------------------------------------------------------*/
455     /*! \name Field @!field.CARD!@@!field.Name:52!@ */
456     /*! \{                                                                 */
457    
458             @@if @!field.category!@ == "data"                                               // DATA Field functions
459                 @@if @!field.cardinality!@ == "single"                                      // DATA SField functions
460     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@             *edit@!field.CARD!@@!field.Name!@(void);
461     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const       *get@!field.CARD!@@!field.Name!@ (void) const;
462                     @@if @!CompatOneSix!@
463 #ifdef OSG_1_GET_COMPAT
464     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@             *get@!field.CARD!@@!field.Name!@ (void);
465 #endif
466                     @@endif // CompatOneSix
467     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(void);
468     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (void) const;
469                     @@if @!CompatOneSix!@
470 #ifdef OSG_1_GET_COMPAT
471     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       get@!field.Name!@ (void);
472 #endif
473                     @@endif // CompatOneSix
474     @!field.MethodType:7!@ void set@!field.Name!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
475                 @@else // @!field.cardinality!@ == "single"                                 // DATA MField functions
476     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
477     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@ (void) const;
478                     @@if @!CompatOneSix!@
479 #ifdef OSG_1_GET_COMPAT
480     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
481 #endif
482                     @@endif // CompatOneSix
483     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                 &edit@!field.Name!@(void);
484     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const           &get@!field.Name!@ (void) const;
485     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(UInt32 const index);
486     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (UInt32 const index) const;
487                     @@if @!CompatOneSix!@
488 #ifdef OSG_1_GET_COMPAT
489     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       get@!field.Name!@ (UInt32 const index);
490     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                 &get@!field.Name!@(void);
491 #endif
492                     @@endif // CompatOneSix
493                 @@endif // @!field.cardinality!@ == "single"
494             @@endif // @!field.category!@ == "data"
495             @@if @!field.category!@ == "pointer" and @!field.pointertype!@ != "parent"      // POINTER Field functions
496                 @@if @!field.cardinality!@ == "single"                                      // POINTER SField functions
497     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
498     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@ (void) const;
499                     @@if @!CompatOneSix!@
500 #ifdef OSG_1_GET_COMPAT
501     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
502 #endif
503                     @@endif // CompatOneSix
504     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(void);
505     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (void) const;
506                     @@if @!CompatOneSix!@
507 #ifdef OSG_1_GET_COMPAT
508     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldType!@::reference       get@!field.Name!@ (void);
509 #endif
510                     @@endif // CompatOneSix
511     @!field.MethodType:7!@ void set@!field.Name!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
512                 @@else // @!field.cardinality!@ == "single"                                 // POINTER MField functions
513     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
514     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
515                     @@if @!CompatOneSix!@
516 #ifdef OSG_1_GET_COMPAT
517     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
518 #endif
519                     @@endif // CompatOneSix
520    
521     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                  &edit@!field.Name!@(void);
522     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const            &get@!field.Name!@ (void) const;
523     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference        edit@!field.Name!@(UInt32 const index);
524     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference  get@!field.Name!@ (UInt32 const index) const;
525                     @@if @!CompatOneSix!@
526 #ifdef OSG_1_GET_COMPAT
527     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference  get@!field.Name!@ (UInt32 const index);
528     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                  &get@!field.Name!@(void);
529 #endif
530                     @@endif // CompatOneSix
531    
532                     @@if @!field.writePushToField!@
533     void @!field.PushToField!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
534                     @@endif // field.writePushToField
535                     @@if @!field.writeAssignMField!@
536     void @!field.AssignMField!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const &value);
537                     @@endif // field.writeAssignMField
538                     @@if @!field.writeInsertIntoMField!@
539     void @!field.InsertIntoMField!@(
540             UInt32 const uiIndex,
541             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
542                     @@endif // field.writeInsertIntoMField
543                     @@if @!field.writeReplaceInMFieldIndex!@
544     void @!field.ReplaceInMFieldIndex!@(
545             UInt32 const uiIndex,
546             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
547                     @@endif // field.writeReplaceInMFieldIndex
548                     @@if @!field.writeReplaceInMFieldObject!@
549     bool @!field.ReplaceInMFieldObject!@(
550             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType pOldElem,
551             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType pNewElem);
552                     @@endif // field.writeReplaceInMFieldObject
553                     @@if @!field.writeRemoveFromMFieldIndex!@
554     void @!field.RemoveFromMFieldIndex!@(UInt32 const uiIndex);
555                     @@endif // field.writeRemoveFromMFieldIndex
556                     @@if @!field.writeRemoveFromMFieldObject!@
557     bool @!field.RemoveFromMFieldObject!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
558                     @@endif // field.writeRemoveFromMFieldObject
559                     @@if @!field.writeClearField!@
560     void @!field.ClearField!@(void);
561                     @@endif // field.writeClearField
562                 @@endif // @!field.cardinality!@ == "single"
563             @@endif //  @!field.category!@ == "pointer" and @!field.pointertype!@ != "parent"
564             @@if @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"      // PARENTPOINTER Field functions
565                 @@if @!field.cardinality!@ == "single"                                      // PARENTPOINTER SField functions
566     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
567     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@(void) const;
568    
569                 @@else // @!field.cardinality!@ == "single"                                 // PARENTPOINTER MField functions
570     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
571     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const &get@!field.Name!@  (void) const;
572     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@(UInt32 const index) const;
573    
574                 @@endif // @!field.cardinality!@ == "single"
575             @@endif // @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"
576    
577     /*! \}                                                                 */
578         @@endif // @!field.access!@ == "protected"
579     @@EndFieldLoop@@
580    
581     /*! \}                                                                 */
582 @@endif // hasProtectedFields
583     /*---------------------------------------------------------------------*/
584     /*! \name Sync                                                         */
585     /*! \{                                                                 */
586
587     virtual void resolveLinks(void);
588
589     /*! \}                                                                 */
590     /*==========================  PRIVATE  ================================*/
591   private:
592 @@if @!hasPrivateFields!@
593     /*---------------------------------------------------------------------*/
594     /*! \name Fields                                                       */
595     /*! \{                                                                 */
596
597     @@if not @!isDecorator!@
598         @@BeginFieldLoop@@
599             @@if @!field.access!@ == "private"
600     @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps:15!@ @!field.VarName!@;
601             @@endif // @!field.access!@ == "private"
602         @@EndFieldLoop@@
603     @@endif // not @!isDecorator!@
604
605     /*! \}                                                                 */
606     @@BeginFieldLoop@@
607         @@if @!field.access!@ == "private"
608     /*---------------------------------------------------------------------*/
609     /*! \name Field @!field.CARD!@@!field.Name:52!@ */
610     /*! \{                                                                 */
611    
612             @@if @!field.category!@ == "data"                                               // DATA Field functions
613                 @@if @!field.cardinality!@ == "single"                                      // DATA SField functions
614     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@             *edit@!field.CARD!@@!field.Name!@(void);
615     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const       *get@!field.CARD!@@!field.Name!@ (void) const;
616                     @@if @!CompatOneSix!@
617 #ifdef OSG_1_GET_COMPAT
618     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@             *get@!field.CARD!@@!field.Name!@ (void);
619 #endif
620                     @@endif // CompatOneSix
621     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(void);
622     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (void) const;
623                     @@if @!CompatOneSix!@
624 #ifdef OSG_1_GET_COMPAT
625     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       get@!field.Name!@ (void);
626 #endif
627                     @@endif // CompatOneSix
628     @!field.MethodType:7!@ void set@!field.Name!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
629                 @@else // @!field.cardinality!@ == "single"                                 // DATA MField functions
630     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
631     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@ (void) const;
632                     @@if @!CompatOneSix!@
633 #ifdef OSG_1_GET_COMPAT
634     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
635 #endif
636                     @@endif // CompatOneSix
637     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                 &edit@!field.Name!@(void);
638     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const           &get@!field.Name!@ (void) const;
639     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(UInt32 const index);
640     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (UInt32 const index) const;
641                     @@if @!CompatOneSix!@
642 #ifdef OSG_1_GET_COMPAT
643     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       get@!field.Name!@ (UInt32 const index);
644     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                 &get@!field.Name!@(void);
645 #endif
646                     @@endif // CompatOneSix
647                 @@endif // @!field.cardinality!@ == "single"
648             @@endif // @!field.category!@ == "data"
649             @@if @!field.category!@ == "pointer" and @!field.pointertype!@ != "parent"      // POINTER Field functions
650                 @@if @!field.cardinality!@ == "single"                                      // POINTER SField functions
651     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
652     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@ (void) const;
653                     @@if @!CompatOneSix!@
654 #ifdef OSG_1_GET_COMPAT
655     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
656 #endif
657                     @@endif // CompatOneSix
658     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference       edit@!field.Name!@(void);
659     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@ (void) const;
660                     @@if @!CompatOneSix!@
661 #ifdef OSG_1_GET_COMPAT
662     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldType!@::reference       get@!field.Name!@ (void);
663 #endif
664                     @@endif // CompatOneSix
665     @!field.MethodType:7!@ void set@!field.Name!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
666                 @@else // @!field.cardinality!@ == "single"                                 // POINTER MField functions
667     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *edit@!field.CARD!@@!field.Name!@(void);
668     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
669                     @@if @!CompatOneSix!@
670 #ifdef OSG_1_GET_COMPAT
671     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@       *get@!field.CARD!@@!field.Name!@ (void);
672 #endif
673                     @@endif // CompatOneSix
674    
675     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                  &edit@!field.Name!@(void);
676     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const            &get@!field.Name!@ (void) const;
677     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference        edit@!field.Name!@(UInt32 const index);
678     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference  get@!field.Name!@ (UInt32 const index) const;
679                     @@if @!CompatOneSix!@
680 #ifdef OSG_1_GET_COMPAT
681     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::reference        get@!field.Name!@ (UInt32 const index);
682     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@                  &get@!field.Name!@(void);
683 #endif
684                     @@endif // CompatOneSix
685    
686                     @@if @!field.writePushToField!@
687     void @!field.PushToField!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
688                     @@endif // field.writePushToField
689                     @@if @!field.writeAssignMField!@
690     void @!field.AssignMField!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const &value);
691                     @@endif // field.writeAssignMField
692                     @@if @!field.writeInsertIntoMField!@
693     void @!field.InsertIntoMField!@(
694             UInt32 const uiIndex,
695             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
696                     @@endif // field.writeInsertIntoMField
697                     @@if @!field.writeReplaceInMFieldIndex!@
698     void @!field.ReplaceInMFieldIndex!@(
699             UInt32 const uiIndex,
700             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
701                     @@endif // field.writeReplaceInMFieldIndex
702                     @@if @!field.writeReplaceInMFieldObject!@
703     bool @!field.ReplaceInMFieldObject!@(
704             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType pOldElem,
705             @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType pNewElem);
706                     @@endif // field.writeReplaceInMFieldObject
707                     @@if @!field.writeRemoveFromMFieldIndex!@
708     void @!field.RemoveFromMFieldIndex!@(UInt32 const uiIndex);
709                     @@endif // field.writeRemoveFromMFieldIndex
710                     @@if @!field.writeRemoveFromMFieldObject!@
711     bool @!field.RemoveFromMFieldObject!@(@!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::ArgumentType value);
712                     @@endif // field.writeRemoveFromMFieldObject
713                     @@if @!field.writeClearField!@
714     void @!field.ClearField!@(void);
715                     @@endif // field.writeClearField
716                 @@endif // @!field.cardinality!@ == "single"
717             @@endif // @!field.category!@ == "pointer" and @!field.pointertype!@ != "parent"
718             @@if @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"      // PARENTPOINTER Field functions
719                 @@if @!field.cardinality!@ == "single"                                      // PARENTPOINTER SField functions
720     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
721     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@(void) const;
722    
723                 @@else // @!field.cardinality!@ == "single"                                 // PARENTPOINTER MField functions
724     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const *get@!field.CARD!@@!field.Name!@(void) const;
725     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@ const &get@!field.Name!@  (void) const;
726     @!field.MethodType:7!@ @!field.FieldTypeNS!@@!field.CARD!@@!field.FieldTypeCaps!@::const_reference get@!field.Name!@(UInt32 const index) const;
727    
728                 @@endif // @!field.cardinality!@ == "single"
729             @@endif // @!field.category!@ == "pointer" and @!field.pointertype!@ == "parent"
730    
731     /*! \}                                                                 */
732         @@endif // @!field.access!@ == "private"
733     @@EndFieldLoop@@
734    
735     /*! \}                                                                 */
736 @@endif // hasPrivateFields
737
738     // prohibit default functions (move to 'public' if you need one)
739     void operator =(const @!Classname!@Base &source);
740 };
741
742 typedef @!Classname!@Base::ObjRefP      @!Classname!@RefP;
743 typedef @!Classname!@Base::ObjMTRefP    @!Classname!@MTRefP;
744 typedef @!Classname!@Base::ObjWeakRefP  @!Classname!@WeakRefP;
745 typedef @!Classname!@Base::ObjParentP   @!Classname!@ParentP;
746
747 OSG_END_NAMESPACE
748
749 #endif /* _OSG@!CLASSNAME!@BASE_H_ */
Note: See TracBrowser for help on using the browser.
</