1 /*---------------------------------------------------------------------------*\
5 * Copyright (C) 2008 by the OpenSG Forum *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
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. *
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. *
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. *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
37 \*---------------------------------------------------------------------------*/
41 /*-------------------------------------------------------------------------*/
42 /* ChildPointerSField<PtrTypeT, */
44 /*-------------------------------------------------------------------------*/
46 /*-------------------------------------------------------------------------*/
49 /*-------------------------------------------------------------------------*/
52 template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> inline
53 ChildPointerSField<PtrTypeT,
55 NamespaceI >::ChildPointerSField(
56 FieldContainer * const pParent,
57 UInt16 usChildFieldId,
58 UInt16 usParentFieldId) :
65 template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> inline
66 ChildPointerSField<PtrTypeT,
68 NamespaceI >::ChildPointerSField(
70 FieldContainer * const pParent,
71 UInt16 usChildFieldId,
72 UInt16 usParentFieldId) :
80 /*-------------------------------------------------------------------------*/
83 template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> inline
84 ChildPointerSField<PtrTypeT,
86 NamespaceI >::~ChildPointerSField(void)
90 /*-------------------------------------------------------------------------*/
93 template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> inline
94 typename ChildPointerSField<PtrTypeT,
96 NamespaceI >::const_value
97 ChildPointerSField<PtrTypeT,
99 NamespaceI >::getValue(void) const
101 return static_cast<const_value>(this->ptrStoreGet());
104 template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> inline
105 void ChildPointerSField<PtrTypeT,
107 NamespaceI >::setValue(const_value value)
109 this->ptrStoreSet(value);
112 template <class PtrTypeT, typename RefCountPolicy, Int32 NamespaceI> inline
113 void ChildPointerSField<PtrTypeT,
115 NamespaceI >::setValue(const Self &source)
117 this->ptrStoreSet(source.ptrStoreGet());
120 template <class PtrTypeT,
121 typename RefCountPolicy,
122 Int32 NamespaceI > inline
123 void ChildPointerSField<PtrTypeT,
125 NamespaceI >::copyFromBin(BinaryDataHandler &pMem)
127 Inherited::copyFromBin(pMem);
130 #ifdef OSG_MT_CPTR_ASPECT
131 template <class PtrTypeT,
132 typename RefCountPolicy,
133 Int32 NamespaceI > inline
134 void ChildPointerSField<PtrTypeT,
136 NamespaceI >::syncWith(Self &source)
138 Inherited::syncWith(source);
142 /*-------------------------------------------------------------------------*/
145 // template <class PtrTypeT, Int32 NamespaceI>
147 // ChildPointerSField<ObjectTypeT,
148 // NamespaceI >::operator==(Self const &other)
152 /*-------------------------------------------------------------------------*/