b1475cef5138c556acb66cb259b966752fd489a7
[occt.git] / src / DBC / DBC_BaseArray_objs.hxx
1 // Copyright (c) 1998-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 #ifndef _DBC_BaseArray_HeaderFile
16 #define _DBC_BaseArray_HeaderFile
17
18 #include <DBC_DBVArray.hxx>
19 #include <Standard_Storable.hxx>
20 #include <Standard_OStream.hxx>
21 #include <Standard_TypeDef.hxx>
22
23 class Standard_NullObject;
24 class Standard_NegativeValue;
25 class Standard_DimensionMismatch;
26
27
28 #ifndef Standard_EXPORT
29 #if defined(WNT) && !defined(HAVE_NO_DLL)
30 #define Standard_EXPORT __declspec(dllexport)
31 #else
32 #define Standard_EXPORT
33 #endif
34 #endif
35
36 Handle_Standard_Type& DBC_BaseArray_Type_();
37
38 class Standard_EXPORT DBC_BaseArray :
39   public os_virtual_behavior /* New */ {
40
41 public:
42
43  // Methods PUBLIC
44  // 
45 DBC_BaseArray();
46 DBC_BaseArray(const Standard_Integer Size);
47 DBC_BaseArray(const DBC_BaseArray& BaseArray);
48   Standard_Integer Length() const;
49   Standard_Integer Upper() const;
50   Standard_Address Lock() const;
51   void Unlock() const;
52 virtual  void ShallowDump(Standard_OStream& S) const;
53   void Destroy() ;
54 ~DBC_BaseArray()
55 {
56   Destroy();
57 }
58
59
60
61
62
63  // Type management
64  //
65  friend Handle_Standard_Type& DBC_BaseArray_Type_();
66
67 protected:
68
69  // Methods PROTECTED
70  // 
71
72
73  // Fields PROTECTED
74  //
75 Standard_Integer mySize;
76 DBC_DBVArray myData;
77
78
79 private: 
80
81  // Methods PRIVATE
82  // 
83
84
85  // Fields PRIVATE
86  //
87
88
89 };
90
91
92 #include <DBC_BaseArray.lxx>
93
94
95
96 // other Inline functions and methods (like "C++: function call" methods)
97 //
98 void ShallowDump(const DBC_BaseArray& me,Standard_OStream& S) {
99  me.ShallowDump(S);
100 }
101
102
103
104 #endif