0024157: Parallelization of assembly part of BO
[occt.git] / src / BOPCol / BOPCol_NCVector.hxx
CommitLineData
acccace3 1// Created by: Peter KURNEV
2// Copyright (c) 1999-2013 OPEN CASCADE SAS
3//
4// The content of this file is subject to the Open CASCADE Technology Public
5// License Version 6.5 (the "License"). You may not use the content of this file
6// except in compliance with the License. Please obtain a copy of the License
7// at http://www.opencascade.org and read it completely before using this file.
8//
9// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11//
12// The Original Code and all software distributed under the License is
13// distributed on an "AS IS" basis, without warranty of any kind, and the
14// Initial Developer hereby disclaims all such warranties, including without
15// limitation, any warranties of merchantability, fitness for a particular
16// purpose or non-infringement. Please see the License for the specific terms
17// and conditions governing the rights and limitations under the License.
18
19
20#ifndef BOPCol_NCVector_HeaderFile
21#define BOPCol_NCVector_HeaderFile
22
23#include <Standard.hxx>
24#include <NCollection_Vector.hxx>
25#include <NCollection_BaseAllocator.hxx>
26
27//=======================================================================
28//class : BOPCol_NCVector
29//purpose :
30//=======================================================================
31template <class Type> class BOPCol_NCVector
32 :
33 public NCollection_Vector<Type>
34{
35 public:
36 BOPCol_NCVector(const Standard_Integer theIncrement=256,
37 const Handle_NCollection_BaseAllocator& theAlloc = NULL)
38 : NCollection_Vector<Type>(theIncrement, theAlloc) {
39 };
40 //
41 BOPCol_NCVector(const BOPCol_NCVector& theOther)
42 : NCollection_Vector<Type>(theOther) {
43 };
44 //
45 Type& Append1 ()
46 {
47 Type& anAppended =
09126f16 48 *(Type* )NCollection_BaseVector::expandV (NCollection_BaseCollection<Type>::myAllocator,
acccace3 49 NCollection_Vector<Type>::myLength);
50 return anAppended;
51 }
52 //
53 Standard_Integer Extent() const
54 {
55 return NCollection_Vector<Type>::myLength;
56 }
57 protected:
58
59};
60
61#endif