0031035: Coding - uninitialized class fields reported by Visual Studio Code Analysis
[occt.git] / src / StdLPersistent / StdLPersistent_Variable.hxx
CommitLineData
7ed7467d 1// Copyright (c) 2015 OPEN CASCADE SAS
2//
3// This file is part of Open CASCADE Technology software library.
4//
5// This library is free software; you can redistribute it and/or modify it under
6// the terms of the GNU Lesser General Public License version 2.1 as published
7// by the Free Software Foundation, with special exception defined in the file
8// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9// distribution for complete text of the license and disclaimer of any warranty.
10//
11// Alternatively, this file may be used under the terms of Open CASCADE
12// commercial license or contractual agreement.
13
14
ff205346 15#ifndef _StdLPersistent_Variable_HeaderFile
16#define _StdLPersistent_Variable_HeaderFile
7ed7467d 17
ff205346 18#include <StdObjMgt_Attribute.hxx>
19#include <StdLPersistent_HString.hxx>
7ed7467d 20
ff205346 21#include <TDataStd_Variable.hxx>
7ed7467d 22
23
ff205346 24class StdLPersistent_Variable : public StdObjMgt_Attribute<TDataStd_Variable>
7ed7467d 25{
26public:
d533dafb 27 //! Empty constructor.
28 StdLPersistent_Variable()
29 : myIsConstant(Standard_False)
30 {
31 }
7ed7467d 32 //! Read persistent data from a file.
ff205346 33 inline void Read (StdObjMgt_ReadData& theReadData)
34 { theReadData >> myIsConstant >> myUnit; }
ec964372 35 //! Write persistent data to a file.
36 inline void Write (StdObjMgt_WriteData& theWriteData) const
37 { theWriteData << myIsConstant << myUnit; }
38 //! Gets persistent child objects
39 inline void PChildren(StdObjMgt_Persistent::SequenceOfPersistent& theChildren) const
40 { theChildren.Append(myUnit); }
41 //! Returns persistent type name
42 inline Standard_CString PName() const { return "PDataStd_Variable"; }
7ed7467d 43
44 //! Import transient attribuite from the persistent data.
ff205346 45 void Import (const Handle(TDataStd_Variable)& theAttribute) const
46 {
47 theAttribute->Constant (myIsConstant);
48 if (myUnit)
49 theAttribute->Unit (myUnit->Value()->String());
50 }
7ed7467d 51
52private:
45d8465e 53 Standard_Boolean myIsConstant;
54 Handle(StdLPersistent_HString::Ascii) myUnit;
7ed7467d 55};
56
57#endif