changed: gcc8 base update
[opensg.git] / Source / Base / FieldContainer / Fields / PointerFields / OSGPointerSFieldBase.inl
blobbdd788f3ad0d8eeef56d3e1f30e11f91bef80ddd
1 /*---------------------------------------------------------------------------*\
2  *                                OpenSG                                     *
3  *                                                                           *
4  *                                                                           *
5  *           Copyright (C) 2008 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 \*---------------------------------------------------------------------------*/
39 OSG_BEGIN_NAMESPACE
41 /*! \class PointerSFieldBase
42  */
44 /*-------------------------------------------------------------------------*/
45 /* Constructors                                                            */
47 inline
48 PointerSFieldBase::PointerSFieldBase(void) : 
49      Inherited (    ),
50     _fieldValue(NULL)
54 /*-------------------------------------------------------------------------*/
55 /* Destructor                                                              */
57 inline
58 PointerSFieldBase::~PointerSFieldBase(void)
62 /*-------------------------------------------------------------------------*/
63 /* Raw Store Access                                                        */
66 inline 
67 PointerSFieldBase::value_type PointerSFieldBase::getValue(void) const
69     return WeakRefCountPolicy::validate(_fieldValue);
72 inline
73 SizeT PointerSFieldBase::getBinSize(void) const
75     return SFieldTraits::getBinSize(_fieldValue);
79 inline
80 void PointerSFieldBase::copyToBin(BinaryDataHandler &pMem) const
82     SFieldTraits::copyToBin( pMem, 
83                             _fieldValue);
86 inline
87 bool PointerSFieldBase::operator ==(const Self &source) const
89     return _fieldValue == source._fieldValue;
93 inline
94 PointerSFieldBase::StoredType &PointerSFieldBase::editRawStore(void)
96     return _fieldValue;
99 inline
100 PointerSFieldBase::StoredType const &PointerSFieldBase::getRawStore (void) const
102     return _fieldValue;
105 OSG_END_NAMESPACE