0024428: Implementation of LGPL license
[occt.git] / src / BOPCol / BOPCol_NCVector.hxx
CommitLineData
acccace3 1// Created by: Peter KURNEV
2// Copyright (c) 1999-2013 OPEN CASCADE SAS
3//
973c2be1 4// This file is part of Open CASCADE Technology software library.
acccace3 5//
973c2be1 6// This library is free software; you can redistribute it and / or modify it
7// under the terms of the GNU Lesser General Public 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.
acccace3 11//
973c2be1 12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
acccace3 14
15#ifndef BOPCol_NCVector_HeaderFile
16#define BOPCol_NCVector_HeaderFile
17
18#include <Standard.hxx>
19#include <NCollection_Vector.hxx>
20#include <NCollection_BaseAllocator.hxx>
21
22//=======================================================================
23//class : BOPCol_NCVector
24//purpose :
25//=======================================================================
26template <class Type> class BOPCol_NCVector
27 :
28 public NCollection_Vector<Type>
29{
30 public:
31 BOPCol_NCVector(const Standard_Integer theIncrement=256,
32 const Handle_NCollection_BaseAllocator& theAlloc = NULL)
33 : NCollection_Vector<Type>(theIncrement, theAlloc) {
34 };
35 //
36 BOPCol_NCVector(const BOPCol_NCVector& theOther)
37 : NCollection_Vector<Type>(theOther) {
38 };
39 //
40 Type& Append1 ()
41 {
42 Type& anAppended =
09126f16 43 *(Type* )NCollection_BaseVector::expandV (NCollection_BaseCollection<Type>::myAllocator,
acccace3 44 NCollection_Vector<Type>::myLength);
45 return anAppended;
46 }
47 //
48 Standard_Integer Extent() const
49 {
50 return NCollection_Vector<Type>::myLength;
51 }
52 protected:
53
54};
55
56#endif