![]() |
aGrUM 2.3.2
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 | |
| template<bool Gen> | |
| INLINE | BijectionIterator (const BijectionImplementation< T1, T2, Gen > &bijection) |
| Constructor. | |
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 1394 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::difference_type = std::ptrdiff_t |
types for STL compliance
Definition at line 1412 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 1420 of file bijection.h.
|
private |
Definition at line 1565 of file bijection.h.
|
private |
Alias for one of the internal gum::HashTable of the gum::Bijection.
Definition at line 1561 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::iterator_category = std::forward_iterator_tag |
types for STL compliance
Definition at line 1401 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_const_pointer = const T1* |
types for STL compliance
Definition at line 1406 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_const_reference = const T1& |
types for STL compliance
Definition at line 1404 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_pointer = T1* |
types for STL compliance
Definition at line 1405 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_reference = T1& |
types for STL compliance
Definition at line 1403 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type1_type = T1 |
types for STL compliance
Definition at line 1402 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_const_pointer = const T2* |
types for STL compliance
Definition at line 1411 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_const_reference = const T2& |
types for STL compliance
Definition at line 1409 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_pointer = T2* |
types for STL compliance
Definition at line 1410 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_reference = T2& |
types for STL compliance
Definition at line 1408 of file bijection.h.
| using gum::BijectionIterator< T1, T2 >::type2_type = T2 |
types for STL compliance
Definition at line 1407 of file bijection.h.
|
private |
Begin constructor.
By default, the iterator points to the starting point of the bijection.
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 889 of file bijection_tpl.h.
References BijectionIterator().
| INLINE gum::BijectionIterator< T1, T2 >::BijectionIterator | ( | const Bijection< T1, T2 > & | bijection | ) |
Default constructor.
Constructor.
| bijection | The gum::Bijection to iterate onto. |
Definition at line 904 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
| INLINE gum::BijectionIterator< T1, T2 >::BijectionIterator | ( | const BijectionIterator< T1, T2 > & | from | ) |
Copy constructor.
| from | The gum::BijectionIterator to copy. |
Definition at line 911 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Move constructor.
move constructor
| from | The gum::BijectionIterator to move. |
Definition at line 918 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Class destructor.
Destructor.
Definition at line 925 of file bijection_tpl.h.
References BijectionIterator().
| INLINE gum::BijectionIterator< T1, T2 >::BijectionIterator | ( | const BijectionImplementation< T1, T2, Gen > & | bijection | ) |
Constructor.
Definition at line 896 of file bijection_tpl.h.
References BijectionIterator(), _iter_, and BijectionImplementation.
| INLINE 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 981 of file bijection_tpl.h.
References _iter_.
|
noexcept |
Inequality operator.
Comparison of iterators.
| toCompare | The gum::BijectionIteratorSafe to compare. |
Definition at line 967 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 961 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 947 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 wich the iterator moves. |
Definition at line 954 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Move operator.
move operator
| toMove | The gum::BijectionIterator to move. |
Definition at line 940 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
| INLINE BijectionIterator< T1, T2 > & gum::BijectionIterator< T1, T2 >::operator= | ( | const BijectionIterator< T1, T2 > & | toCopy | ) |
Copy operator.
| toCopy | The gum::BijectionIterator to copy. |
Definition at line 932 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
|
noexcept |
Equality operator.
Comparison of iterators.
| toCompare | The gum::BijectionIteratorSafe to compare. |
Definition at line 974 of file bijection_tpl.h.
References BijectionIterator(), and _iter_.
| INLINE 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 987 of file bijection_tpl.h.
References _iter_, and gum::BijectionIteratorGet< gen >::op_second().
|
friend |
Definition at line 1396 of file bijection.h.
References BijectionImplementation.
Referenced by BijectionIterator(), and BijectionImplementation.
|
private |
The hashTable iterator that actually does all the job.
Definition at line 1568 of file bijection.h.
Referenced by BijectionIterator(), BijectionIterator(), BijectionIterator(), BijectionIterator(), first(), operator!=(), operator++(), operator+=(), operator=(), operator=(), operator==(), and second().