Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 09:47:43

0001 // Created on: 2002-04-23
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 // Purpose:     Single hashed Map. This  Map is used  to store and
0017 //              retrieve keys in linear time.
0018 //              The ::Iterator class can be  used to explore  the
0019 //              content of the map. It is not  wise to iterate and
0020 //              modify a map in parallel.
0021 //              To compute  the hashcode of  the key the  function
0022 //              ::HashCode must be defined in the global namespace
0023 //              To compare two keys the function ::IsEqual must be
0024 //              defined in the global namespace.
0025 //              The performance of  a Map is conditioned  by  its
0026 //              number of buckets that  should be kept greater  to
0027 //              the number   of keys.  This  map has  an automatic
0028 //              management of the number of buckets. It is resized
0029 //              when  the number of Keys  becomes greater than the
0030 //              number of buckets.
0031 //              If you have a fair  idea of the number of  objects
0032 //              you  can save on automatic   resizing by giving  a
0033 //              number of buckets  at creation or using the ReSize
0034 //              method. This should be  consider only for  crucial
0035 //              optimisation issues.
0036 
0037 #ifndef NCollection_DefineMap_HeaderFile
0038 #define NCollection_DefineMap_HeaderFile
0039 
0040 #include <NCollection_Map.hxx>
0041 
0042 // *********************************************** Class Map *****************
0043 
0044 #define DEFINE_MAP(_ClassName_, _BaseCollection_, TheKeyType)                  \
0045 typedef NCollection_Map <TheKeyType > _ClassName_;
0046 
0047 #endif