aGrUM  0.16.0
bijection.cpp
Go to the documentation of this file.
1 
30 #include <string>
31 
32 #include <agrum/core/bijection.h>
33 
34 #ifdef GUM_DEBUG_MODE
35 # include <agrum/core/debug.h>
36 #endif
37 
38 #ifndef DOXYGEN_SHOULD_SKIP_THIS
39 
40 namespace gum {
41 
42  // creates (if needed) and returns the safe iterator __BijectionIterEndSafe
45  static bool first_time = true;
46 
47  if (first_time) {
48  first_time = false;
50 # ifdef GUM_DEBUG_MODE
51  __debug__::__dec_creation("BijectionIteratorSafe",
52  "__bijection_static_end",
53  0,
54  "static variable correction",
55  0);
56  __debug__::__dec_creation("HashTableConstIteratorSafe",
57  "__bijection_static_end",
58  0,
59  "static variable correction",
60  0);
61 # endif
62  }
63 
65  }
66 
67  // creates (if needed) and returns the unsafe iterator __BijectionIterEnd
69  static bool first_time = true;
70 
71  if (first_time) {
72  first_time = false;
74 # ifdef GUM_DEBUG_MODE
75  __debug__::__dec_creation("BijectionIterator",
76  "__bijection_static_end",
77  0,
78  "static variable correction",
79  0);
80  __debug__::__dec_creation("HashTableConstIterator",
81  "__bijection_static_end",
82  0,
83  "static variable correction",
84  0);
85 # endif
86  }
87 
88  return __BijectionIterEnd;
89  }
90 
91  // create the end iterator for all Bijections
95 
96  // create the end iterator for all Bijections
100 
101 } /* namespace gum */
102 
103 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
104 
105 
106 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
107 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
108 template class gum::Bijection< int, int >;
109 # endif
110 #endif
111 #ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
112 # ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
114 # endif
115 #endif
static const BijectionIterator< int, int > * end4Statics()
Creates (if needed) and returns the iterator __BijectionIterEnd.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
static const BijectionIteratorSafe< int, int > * endSafe4Statics()
Creates (if needed) and returns the iterator __BijectionIterEndSafe.
Set of pairs of elements with fast search for both elements.
Definition: bijection.h:1805
static const BijectionIterator< int, int > * __BijectionIterEnd
The unsafe iterator used by everyone.
Definition: bijection.h:1337
static const BijectionIteratorSafe< int, int > * __BijectionIterEndSafe
The safe iterator used by everyone.
Definition: bijection.h:1334
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.