Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:04:18

0001 // Created on: 2002-04-29
0002 // Created by: Alexander KARTOMIN (akm)
0003 // Copyright (c) 2002-2014 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
0015 
0016 //            Automatically created from NCollection_HArray2.hxx by GAWK
0017 
0018 #ifndef NCollection_DefineHArray2_HeaderFile
0019 #define NCollection_DefineHArray2_HeaderFile
0020 
0021 #include <Standard_Type.hxx>
0022 #include <Standard_Transient.hxx>
0023 
0024 //      Declaration of Array2 class managed by Handle
0025 
0026 #define DEFINE_HARRAY2(HClassName, _Array2Type_)                               \
0027 class HClassName : public _Array2Type_, public Standard_Transient {                  \
0028  public:                                                                       \
0029    DEFINE_STANDARD_ALLOC                                                       \
0030    DEFINE_NCOLLECTION_ALLOC                                                    \
0031    HClassName  (const Standard_Integer theRowLow,                              \
0032                 const Standard_Integer theRowUpp,                              \
0033                 const Standard_Integer theColLow,                              \
0034                 const Standard_Integer theColUpp) :                            \
0035      _Array2Type_ (theRowLow, theRowUpp, theColLow, theColUpp) {}              \
0036    HClassName  (const Standard_Integer theRowLow,                              \
0037                 const Standard_Integer theRowUpp,                              \
0038                 const Standard_Integer theColLow,                              \
0039                 const Standard_Integer theColUpp,                              \
0040                 const _Array2Type_::value_type& theValue) :                    \
0041      _Array2Type_ (theRowLow, theRowUpp, theColLow, theColUpp)                 \
0042    { Init (theValue); }                                                        \
0043    HClassName  (const _Array2Type_& theOther) : _Array2Type_(theOther) {}      \
0044    const _Array2Type_& Array2 () const { return *this; }                       \
0045    _Array2Type_& ChangeArray2 ()       { return *this; }                       \
0046    DEFINE_STANDARD_RTTI_INLINE(HClassName,Standard_Transient)                              \
0047 };                                                                             \
0048 DEFINE_STANDARD_HANDLE (HClassName, Standard_Transient)
0049 
0050 #define IMPLEMENT_HARRAY2(HClassName)                                          
0051 
0052 
0053 
0054 #endif