0029915: Porting to VC 2017 : Regressions in Modeling Algorithms on VC 2017
[occt.git] / src / NCollection / NCollection_ListNode.hxx
1 // Created on: 2002-04-17
2 // Created by: Alexander KARTOMIN (akm)
3 // Copyright (c) 2002-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef NCollection_ListNode_HeaderFile
17 #define NCollection_ListNode_HeaderFile
18
19 #include <NCollection_BaseAllocator.hxx>
20 #include <NCollection_DefineAlloc.hxx>
21
22 /**
23  * Purpose:     This class is used to  represent a node  in the BaseList and
24  *              BaseMap. 
25  */              
26 class NCollection_ListNode
27 {
28 public:
29   // define new operator for use with NCollection allocators
30   DEFINE_NCOLLECTION_ALLOC
31 public:
32   //! The only constructor
33   NCollection_ListNode (NCollection_ListNode* theNext)
34   : myNext(theNext) {}
35
36   //! Next pointer access
37   NCollection_ListNode*& Next (void)
38   { return myNext; }
39
40   //! Next pointer const access
41   NCollection_ListNode* Next (void) const
42   { return myNext; }
43
44  private:
45   //! operator= - forbidden
46   NCollection_ListNode& operator= (const NCollection_ListNode&);
47   
48   //! copy constructor - forbidden
49   NCollection_ListNode (const NCollection_ListNode&);
50
51  private:
52   NCollection_ListNode * myNext; //!< Pointer to the next node
53 };
54
55 #endif