![]() |
aGrUM 3.1.1
a C++ library for (probabilistic) graphical models
|
Unsafe iterators for bijection. More...
#include <agrum/base/core/bijection.h>
Public Types | |
| using | iterator_category = std::forward_iterator_tag |
| types for STL compliance | |
| using | type1_type = T1 |
| types for STL compliance | |
| using | type1_reference = T1& |
| types for STL compliance | |
| using | type1_const_reference = const T1& |
| types for STL compliance | |
| using | type1_pointer = T1* |
| types for STL compliance | |
| using | type1_const_pointer = const T1* |
| types for STL compliance | |
| using | type2_type = T2 |
| types for STL compliance | |
| using | type2_reference = T2& |
| types for STL compliance | |
| using | type2_const_reference = const T2& |
| types for STL compliance | |
| using | type2_pointer = T2* |
| types for STL compliance | |
| using | type2_const_pointer = const T2* |
| types for STL compliance | |
| using | difference_type = std::ptrdiff_t |
| types for STL compliance | |
Public Member Functions | |
Constructors/destructors | |
| BijectionIterator () noexcept | |
| Default constructor. | |
| BijectionIterator (const Bijection< T1, T2 > &bijection) | |
| Default constructor. | |
| BijectionIterator (const BijectionIterator< T1, T2 > &from) | |
| Copy constructor. | |
| BijectionIterator (BijectionIterator< T1, T2 > &&from) noexcept | |
| Move constructor. | |
| ~BijectionIterator () noexcept | |
| Class destructor. | |
Operators | |
| BijectionIterator< T1, T2 > & | operator= (const BijectionIterator< T1, T2 > &toCopy) |
| Copy operator. | |
| BijectionIterator< T1, T2 > & | operator= (BijectionIterator< T1, T2 > &&toMove) noexcept |
| Move operator. | |
| BijectionIterator< T1, T2 > & | operator++ () noexcept |
| Go to the next association, if it exists. | |
| BijectionIterator< T1, T2 > & | operator+= (Size nb) noexcept |
| Moves the iterator by nb elements. | |
| BijectionIterator< T1, T2 > | operator+ (Size nb) noexcept |
| Return a new iterator. | |
| bool | operator!= (const BijectionIterator< T1, T2 > &toCompare) const noexcept |
| Inequality operator. | |
| bool | operator== (const BijectionIterator< T1, T2 > &toCompare) const noexcept |
| Equality operator. | |
Accessors/Modifiers | |
| const T1 & | first () const |
| Returns the first element of the current association. | |
| const T2 & | second () const |
| Returns the second element of the current association. | |
Private Types | |
| using | Getter = BijectionIteratorGet< std::is_scalar< T1 >::value && std::is_scalar< T2 >::value > |
| Dummy classes that will enable discriminate without overhead between scalars and non-scalars functions second in iterators. | |
| using | HashTable12 |
| Alias for one of the internal gum::HashTable of the gum::Bijection. | |
| using | HashIter = typename HashTable12::const_iterator |
Private Member Functions | |
| template<bool Gen> | |
| BijectionIterator (const BijectionImplementation< T1, T2, Gen > &bijection) | |
| Begin constructor. | |
Private Attributes | |
| HashIter | _iter_ |
| The hashTable iterator that actually does all the job. | |
Friends | |
| template<typename TT1, typename TT2, bool> | |
| class | BijectionImplementation |
Unsafe iterators for bijection.
| T1 | The first type of elements in the gum::Bjection. |
| T2 | The second type of elements in the gum::Bjection. |
Definition at line 1440 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::difference_type = std::ptrdiff_t |
types for STL compliance
Definition at line 1458 of file bijection.h.
|
private |
Dummy classes that will enable discriminate without overhead between scalars and non-scalars functions second in iterators.
Definition at line 1466 of file bijection.h.
|
private |
Definition at line 1611 of file bijection.h.
|
private |
Alias for one of the internal gum::HashTable of the gum::Bijection.
Definition at line 1607 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::iterator_category = std::forward_iterator_tag |
types for STL compliance
Definition at line 1447 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_const_pointer = const T1* |
types for STL compliance
Definition at line 1452 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_const_reference = const T1& |
types for STL compliance
Definition at line 1450 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_pointer = T1* |
types for STL compliance
Definition at line 1451 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_reference = T1& |
types for STL compliance
Definition at line 1449 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_type = T1 |
types for STL compliance
Definition at line 1448 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_const_pointer = const T2* |
types for STL compliance
Definition at line 1457 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_const_reference = const T2& |
types for STL compliance
Definition at line 1455 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_pointer = T2* |
types for STL compliance
Definition at line 1456 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_reference = T2& |
types for STL compliance
Definition at line 1454 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_type = T2 |
types for STL compliance
Definition at line 1453 of file bijection.h.
|
private |
Begin constructor.
Constructor.
By default, the iterator points to the starting point of the bijection.
Definition at line 932 of file bijection_tpl.h.
References BijectionIterator(), _iter_, and BijectionImplementation.
Referenced by BijectionIterator(), BijectionIterator(), BijectionIterator(), BijectionIterator(), BijectionIterator(), ~BijectionIterator(), operator!=(), operator+(), operator++(), operator+=(), operator=(), operator=(), and operator==().
|
explicitnoexcept |
Default constructor.
Definition at line 925 of file bijection_tpl.h.
References BijectionIterator().
| gum::BijectionIterator< T1, T2 >::BijectionIterator | ( | const Bijection< T1, T2 > & | bijection | ) |
Default constructor.
Constructor.
| bijection | The gum::Bijection to iterate onto. |
Definition at line 940 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
| gum::BijectionIterator< T1, T2 >::BijectionIterator | ( | const BijectionIterator< T1, T2 > & | from | ) |
Copy constructor.
| from | The gum::BijectionIterator to copy. |
Definition at line 947 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Move constructor.
move constructor
| from | The gum::BijectionIterator to move. |
Definition at line 954 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Class destructor.
Destructor.
Definition at line 961 of file bijection_tpl.h.
References BijectionIterator().
| const T1 & gum::BijectionIterator< T1, T2 >::first | ( | ) | const |
Returns the first element of the current association.
return the first element of the current association
| UndefinedIteratorValue | Raised when the iterator does not point to a valid element of the bijection. |
Definition at line 1014 of file bijection_tpl.h.
References _iter_.
Referenced by operator=().
|
noexcept |
Inequality operator.
Comparison of iterators.
| toCompare | The gum::BijectionIteratorSafe to compare. |
Definition at line 1000 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Return a new iterator.
returns a new iterator
If the iterator points to gum::Bijection::end(), the resulting iterator also points to gum::Bijection::end(). If there are nb or fewer elements to parse to reach the end of the gum::Bijection, then the resulting iterator points to gum::Bijection::end().
Definition at line 994 of file bijection_tpl.h.
References BijectionIterator().
|
noexcept |
Go to the next association, if it exists.
Go to the next association (if exists).
If the iterator points to gum::Bijection::end(), nothing is done.
Definition at line 980 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Moves the iterator by nb elements.
moves the iterator by nb elements
If the iterator points to gum::Bijection::end(), nothing is done. If there are nb or fewer elements to parse to reach the end of the bijection, then this method makes the iterator point to gum::Bijection::end().
| nb | The number of steps by which the iterator moves. |
Definition at line 987 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Move operator.
move operator
| toMove | The gum::BijectionIterator to move. |
Definition at line 973 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
default |
Copy operator.
| toCopy | The gum::BijectionIterator to copy. |
References BijectionIterator(), first(), and second().
|
noexcept |
Equality operator.
Comparison of iterators.
| toCompare | The gum::BijectionIteratorSafe to compare. |
Definition at line 1007 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
| const T2 & gum::BijectionIterator< T1, T2 >::second | ( | ) | const |
Returns the second element of the current association.
return the second element of the current association
| UndefinedIteratorValue | Raised when the iterator does not point to a valid element of the bijection. |
Definition at line 1020 of file bijection_tpl.h.
References _iter_, and gum::BijectionIteratorGet< gen >::op_second().
Referenced by operator=().
|
friend |
Definition at line 1442 of file bijection.h.
References BijectionImplementation.
Referenced by BijectionIterator(), and BijectionImplementation.
|
private |
The hashTable iterator that actually does all the job.
Definition at line 1614 of file bijection.h.
Referenced by BijectionIterator(), BijectionIterator(), BijectionIterator(), BijectionIterator(), first(), operator!=(), operator++(), operator+=(), operator=(), operator==(), and second().