aGrUM  0.13.2
bijection.h File Reference

Set of pairs of elements with fast search for both elements. More...

#include <initializer_list>
#include <iostream>
#include <sstream>
#include <string>
#include <type_traits>
#include <agrum/core/hashTable.h>
#include <agrum/core/bijection_tpl.h>
+ Include dependency graph for bijection.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gum::BijectionImplementation< T1, T2, Alloc, Gen >
 A non scalar implementation of a Bijection. More...
 
class  gum::BijectionIteratorStaticEnd
 A class which creates the static iterator used by gim::Bijections. More...
 
class  gum::BijectionIteratorGet< gen >
 Dummy classes for discriminating scalars and non-scalars operators and -> wihtout any overhead. More...
 
struct  gum::BijectionIteratorGet< true >
 
class  gum::BijectionIteratorSafe< T1, T2 >
 Safe iterators for bijectionIterator. More...
 
class  gum::BijectionIterator< T1, T2 >
 Unsafe iterators for bijection. More...
 
class  gum::Bijection< T1, T2, Alloc >
 Set of pairs of elements with fast search for both elements. More...
 

Namespaces

 gum
 gum is the global namespace for all aGrUM entities
 

Functions

template<typename T1 , typename T2 , typename Alloc >
std::ostream & gum::operator<< (std::ostream &, const Bijection< T1, T2, Alloc > &bijection)
 For friendly display of the content of the gum::Bijection. More...
 

Detailed Description

Set of pairs of elements with fast search for both elements.

Bijections are some kind of sets of pairs (T1,T2) with the additional feature as compared to Sets: we can search very quickly T2's elements when knowing T1 and T1's elements when knowing T2.

Author
Christophe GONZALES and Jean-Philippe DUBUS

Definition in file bijection.h.