aGrUM  0.15.1
bijection.h File Reference

Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr. 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
 Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
 

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

Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.

This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library. If not, see http://www.gnu.org/licenses/.

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.