|
SFCGAL
2.3.0
|
Iterator adapter that dereferences unique_ptr elements automatically. More...
#include <DereferenceIterator.h>
Public Types | |
| using | value_type = typename BaseIterator::value_type::element_type |
| Dereferenced. More... | |
| using | pointer = value_type * |
| Pointer to value type. More... | |
| using | reference = value_type & |
| Reference to value type. More... | |
Public Member Functions | |
| DereferenceIterator ()=default | |
| Default constructor. More... | |
| DereferenceIterator (BaseIterator other) | |
| Construct from a base iterator. More... | |
| template<typename OtherIterator , typename = std::enable_if_t< std::is_convertible_v<OtherIterator, BaseIterator>>> | |
| DereferenceIterator (const DereferenceIterator< OtherIterator > &other) | |
| Conversion constructor from another compatible DereferenceIterator. More... | |
| auto | operator* () const -> reference |
| Dereference operator returning a reference to the pointed value. More... | |
| auto | operator-> () const -> pointer |
| Member access operator returning a pointer to the pointed value. More... | |
| auto | operator[] (size_t idx) const -> reference |
| Random access operator returning a reference to the nth value. More... | |
Iterator adapter that dereferences unique_ptr elements automatically.
This class wraps a base iterator (e.g., std::vector<std::unique_ptr<T>>::iterator) and returns references to the pointed objects instead of unique_ptrs.
| BaseIterator | the underlying iterator type |
| using SFCGAL::DereferenceIterator< BaseIterator >::pointer = value_type * |
Pointer to value type.
| using SFCGAL::DereferenceIterator< BaseIterator >::reference = value_type & |
Reference to value type.
| using SFCGAL::DereferenceIterator< BaseIterator >::value_type = typename BaseIterator::value_type::element_type |
Dereferenced.
|
default |
Default constructor.
|
inlineexplicit |
Construct from a base iterator.
| other | The underlying base iterator. |
|
inline |
Conversion constructor from another compatible DereferenceIterator.
Allows implicit conversion from DereferenceIterator<iterator> to DereferenceIterator<const_iterator>.
| OtherIterator | Another iterator type convertible to BaseIterator. |
| other | The other DereferenceIterator to copy. |
|
inline |
Dereference operator returning a reference to the pointed value.
|
inline |
Member access operator returning a pointer to the pointed value.
|
inline |
Random access operator returning a reference to the nth value.
| idx | The offset from the current iterator position. |
1.8.10