aGrUM  0.16.0
hashTable.cpp
Go to the documentation of this file.
1 
30 #include <agrum/core/hashTable.h>
31 
32 #ifdef GUM_DEBUG_MODE
33 # include <agrum/core/debug.h>
34 #endif
35 
36 namespace gum {
37 
38 #ifndef DOXYGEN_SHOULD_SKIP_THIS
39 
41  static bool first_time = true;
42 
43  if (first_time) {
44  first_time = false;
46 # ifdef GUM_DEBUG_MODE
47  __debug__::__dec_creation("HashTableIterator",
48  "__hash_static_end",
49  0,
50  "static variable correction",
51  0);
52  __debug__::__dec_creation("HashTableConstIterator",
53  "__hash_static_end",
54  0,
55  "static variable correction",
56  0);
57 # endif
58  }
59 
60  return __HashTableIterEnd;
61  }
62 
65  return reinterpret_cast< const HashTableConstIterator< int, int >* >(
66  end4Statics());
67  }
68 
71  static bool first_time = true;
72 
73  if (first_time) {
74  first_time = false;
76 # ifdef GUM_DEBUG_MODE
77  __debug__::__dec_creation("HashTableIteratorSafe",
78  "__hash_static_end",
79  0,
80  "static variable correction",
81  0);
82  __debug__::__dec_creation("HashTableConstIteratorSafe",
83  "__hash_static_end",
84  0,
85  "static variable correction",
86  0);
87 # endif
88  }
89 
91  }
92 
95  return reinterpret_cast< const HashTableConstIteratorSafe< int, int >* >(
96  endSafe4Statics());
97  }
98 
102 
106 
107 #endif // DOXYGEN_SHOULD_SKIP_THIS
108 
109 } /* namespace gum */
110 
111 
112 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
113 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
114 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
115 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
116 template class gum::HashTable< int, int >;
117 # endif
118 # endif
119 # endif
120 #endif
121 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
122 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
123 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
124 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
126 # endif
127 # endif
128 # endif
129 #endif
130 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
131 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
132 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
133 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
135 # endif
136 # endif
137 # endif
138 #endif
139 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
140 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
141 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
142 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
144 # endif
145 # endif
146 # endif
147 #endif
static const HashTableIterator< int, int > * __HashTableIterEnd
The unsafe iterator used by everyone.
Definition: hashTable.h:1834
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
static const HashTableConstIteratorSafe< int, int > * constEndSafe4Statics()
Creates (if needed) and returns the iterator __HashTableIterEndSafe.
static const HashTableIterator< int, int > * end4Statics()
Creates (if needed) and returns the iterator __HashTableIterEnd.
static const HashTableIteratorSafe< int, int > * endSafe4Statics()
Creates (if needed) and returns the iterator __HashTableIterEndSafe.
static const HashTableIteratorSafe< int, int > * __HashTableIterEndSafe
The safe iterator used by everyone.
Definition: hashTable.h:1837
static const HashTableConstIterator< int, int > * constEnd4Statics()
Creates (if needed) and returns the iterator __HashTableIterEnd.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.