![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
Safe iterators for bijectionIterator. 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 | BijectionIteratorSafe (const BijectionImplementation< T1, T2, Gen > &bijection) |
| Constructor. | |
Constructors and destructors | |
| BijectionIteratorSafe () noexcept | |
| Default constructor. | |
| BijectionIteratorSafe (const Bijection< T1, T2 > &bijection) | |
| Begin constructor. | |
| BijectionIteratorSafe (const BijectionIteratorSafe< T1, T2 > &from) | |
| Copy constructor. | |
| BijectionIteratorSafe (BijectionIteratorSafe< T1, T2 > &&from) noexcept | |
| Move constructor. | |
| ~BijectionIteratorSafe () noexcept | |
| Class destructor. | |
Operators | |
| BijectionIteratorSafe< T1, T2 > & | operator= (const BijectionIteratorSafe< T1, T2 > &toCopy) |
| Copy operator. | |
| BijectionIteratorSafe< T1, T2 > & | operator= (BijectionIteratorSafe< T1, T2 > &&toMove) noexcept |
| Move operator. | |
| BijectionIteratorSafe< T1, T2 > & | operator++ () noexcept |
| Go to the next association, if it exists. | |
| BijectionIteratorSafe< T1, T2 > & | operator+= (Size nb) noexcept |
| Moves the iterator by nb elements. | |
| BijectionIteratorSafe< T1, T2 > | operator+ (Size nb) noexcept |
| Returns a new iterator. | |
| bool | operator!= (const BijectionIteratorSafe< T1, T2 > &toCompare) const noexcept |
| Inequality operator. | |
| bool | operator== (const BijectionIteratorSafe< 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_safe |
| Alias for one of the internal gum::HastTableIterator of the gum::Bijection. | |
Private Member Functions | |
| template<bool Gen> | |
| BijectionIteratorSafe (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 |
Safe iterators for bijectionIterator.
| T1 | The first type of elements in the gum::Bjection. |
| T2 | The second type of elements in the gum::Bjection. |
Definition at line 1194 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::difference_type = std::ptrdiff_t |
types for STL compliance
Definition at line 1212 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 1220 of file bijection.h.
|
private |
Alias for one of the internal gum::HastTableIterator of the gum::Bijection.
Definition at line 1374 of file bijection.h.
|
private |
Alias for one of the internal gum::HashTable of the gum::Bijection.
Definition at line 1367 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::iterator_category = std::forward_iterator_tag |
types for STL compliance
Definition at line 1201 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type1_const_pointer = const T1* |
types for STL compliance
Definition at line 1206 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type1_const_reference = const T1& |
types for STL compliance
Definition at line 1204 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type1_pointer = T1* |
types for STL compliance
Definition at line 1205 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type1_reference = T1& |
types for STL compliance
Definition at line 1203 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type1_type = T1 |
types for STL compliance
Definition at line 1202 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type2_const_pointer = const T2* |
types for STL compliance
Definition at line 1211 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type2_const_reference = const T2& |
types for STL compliance
Definition at line 1209 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type2_pointer = T2* |
types for STL compliance
Definition at line 1210 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type2_reference = T2& |
types for STL compliance
Definition at line 1208 of file bijection.h.
| using gum::BijectionIteratorSafe< T1, T2 >::type2_type = T2 |
types for STL compliance
Definition at line 1207 of file bijection.h.
|
private |
Begin constructor.
By default, the iterator points to the starting point of the gum::Bijection.
| bijection | The gum::Bijection to iterate onto. |
References BijectionIteratorSafe(), _iter_, and BijectionImplementation.
Referenced by BijectionIteratorSafe(), BijectionIteratorSafe(), BijectionIteratorSafe(), BijectionIteratorSafe(), BijectionIteratorSafe(), ~BijectionIteratorSafe(), operator!=(), operator+(), operator++(), operator=(), operator=(), and operator==().
|
explicitnoexcept |
Default constructor.
Definition at line 775 of file bijection_tpl.h.
References BijectionIteratorSafe().
| INLINE gum::BijectionIteratorSafe< T1, T2 >::BijectionIteratorSafe | ( | const Bijection< T1, T2 > & | bijection | ) |
Begin constructor.
Constructor.
By default, the iterator points to the starting point of the gum::Bijection.
| bijection | The gum::Bijection to iterate onto. |
Definition at line 791 of file bijection_tpl.h.
References BijectionIteratorSafe(), and _iter_.
| INLINE gum::BijectionIteratorSafe< T1, T2 >::BijectionIteratorSafe | ( | const BijectionIteratorSafe< T1, T2 > & | from | ) |
Copy constructor.
| from | The gum::BijectionIteratorSafe to copy. |
Definition at line 798 of file bijection_tpl.h.
References BijectionIteratorSafe(), and _iter_.
|
noexcept |
Move constructor.
move constructor
| from | The gum::BijectionIteratorSafe to move. |
Definition at line 805 of file bijection_tpl.h.
References BijectionIteratorSafe(), and _iter_.
|
noexcept |
Class destructor.
Destructor.
Definition at line 812 of file bijection_tpl.h.
References BijectionIteratorSafe().
| INLINE gum::BijectionIteratorSafe< T1, T2 >::BijectionIteratorSafe | ( | const BijectionImplementation< T1, T2, Gen > & | bijection | ) |
| INLINE const T1 & gum::BijectionIteratorSafe< 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 870 of file bijection_tpl.h.
References _iter_.
|
noexcept |
Inequality operator.
Comparison of iterators.
| toCompare | The gum::BijectionIteratorSafe to compare. |
Definition at line 856 of file bijection_tpl.h.
References BijectionIteratorSafe(), and _iter_.
|
noexcept |
Returns a new iterator.
returns a new iterator
If the iterator points to end(), the resulting iterator also points to end (). If there are nb or fewer elements to parse to reach the end of the bijection, then the resulting iterator points to gum::BijectionIteratorSafe::end().
| nb | The number of steps by wich the iterator moves. |
Definition at line 850 of file bijection_tpl.h.
References BijectionIteratorSafe().
|
noexcept |
Go to the next association, if it exists.
Go to the next association (if exists).
If the iterator points to end(), nothing happens.
Definition at line 834 of file bijection_tpl.h.
References BijectionIteratorSafe(), and _iter_.
|
noexcept |
Moves the iterator by nb elements.
moves the iterator by nb elements
If the iterator points to 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::BijectionIteratorSafe::end().
| nb | The number of steps by wich the iterator moves. |
Definition at line 842 of file bijection_tpl.h.
References _iter_.
|
noexcept |
Move operator.
move operator
| toMove | The gum::BijectionIteratorSafe to move. |
Definition at line 826 of file bijection_tpl.h.
References BijectionIteratorSafe(), and _iter_.
| INLINE BijectionIteratorSafe< T1, T2 > & gum::BijectionIteratorSafe< T1, T2 >::operator= | ( | const BijectionIteratorSafe< T1, T2 > & | toCopy | ) |
Copy operator.
| toCopy | The gum::BijectionIteratorSafe to copy. |
Definition at line 819 of file bijection_tpl.h.
References BijectionIteratorSafe(), and _iter_.
|
noexcept |
Equality operator.
Comparison of iterators.
| toCompare | The gum::BijectionIteratorSafe to compare. |
Definition at line 863 of file bijection_tpl.h.
References BijectionIteratorSafe(), and _iter_.
| INLINE const T2 & gum::BijectionIteratorSafe< 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 876 of file bijection_tpl.h.
References _iter_, and gum::BijectionIteratorGet< gen >::op_second().
|
friend |
Definition at line 1196 of file bijection.h.
References BijectionImplementation.
Referenced by BijectionIteratorSafe(), and BijectionImplementation.
|
private |
The hashTable iterator that actually does all the job.
Definition at line 1377 of file bijection.h.
Referenced by BijectionIteratorSafe(), BijectionIteratorSafe(), BijectionIteratorSafe(), BijectionIteratorSafe(), first(), operator!=(), operator++(), operator+=(), operator=(), operator=(), operator==(), and second().