Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-15 10:21:05

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_HArray1.hxx by GAWK
0017 
0018 #ifndef NCollection_DefineHArray1_HeaderFile
0019 #define NCollection_DefineHArray1_HeaderFile
0020 
0021 #include <Standard_Type.hxx>
0022 #include <Standard_Transient.hxx>
0023 
0024 //      Declaration of Array1 class managed by Handle
0025 
0026 #define DEFINE_HARRAY1(HClassName, _Array1Type_)                               \
0027 class HClassName : public _Array1Type_, public Standard_Transient {            \
0028  public:                                                                       \
0029    DEFINE_STANDARD_ALLOC                                                       \
0030    DEFINE_NCOLLECTION_ALLOC                                                    \
0031    HClassName () : _Array1Type_ () {}                                          \
0032    HClassName (const Standard_Integer theLower,                                \
0033                const Standard_Integer theUpper) :                              \
0034      _Array1Type_ (theLower,theUpper)  {}                                      \
0035    HClassName (const Standard_Integer theLower,                                \
0036                const Standard_Integer theUpper,                                \
0037                const _Array1Type_::value_type& theValue) :                     \
0038      _Array1Type_ (theLower,theUpper)  { Init (theValue); }                    \
0039    explicit HClassName (const typename _Array1Type_::value_type& theBegin,     \
0040                const Standard_Integer theLower,                                \
0041                const Standard_Integer theUpper,                                \
0042                const bool) :                                                   \
0043      _Array1Type_ (theBegin,theLower,theUpper)  {}                             \
0044    HClassName  (const _Array1Type_& theOther) : _Array1Type_(theOther) {}      \
0045    const _Array1Type_& Array1 () const { return *this; }                       \
0046    _Array1Type_& ChangeArray1 ()       { return *this; }                       \
0047    DEFINE_STANDARD_RTTI_INLINE(HClassName,Standard_Transient)                  \
0048 };                                                                             \
0049 DEFINE_STANDARD_HANDLE (HClassName, Standard_Transient)
0050 
0051 #define IMPLEMENT_HARRAY1(HClassName)
0052 
0053 #endif