ATLAS Offline Software
|
Adapter to retrieve elements from a unique_ptr iterator via release(). More...
#include <releasing_iterator.h>
Public Types | |
using | value_type = typename std::iterator_traits< ITERATOR >::value_type::pointer |
using | reference = value_type & |
using | pointer = value_type * |
using | difference_type = typename std::iterator_traits< ITERATOR >::difference_type |
using | iterator_category = std::input_iterator_tag |
Public Member Functions | |
releasing_iterator (ITERATOR it) | |
value_type | operator* () |
releasing_iterator & | operator++ () |
bool | operator!= (const releasing_iterator &other) const |
Private Attributes | |
ITERATOR | m_it |
Adapter to retrieve elements from a unique_ptr iterator via release().
This allows, say,
All elements in c1
will be release'd.
Since this implies that a given iterator can only be dereferenced once, this iterator models input_iterator
.
Definition at line 39 of file releasing_iterator.h.
using CxxUtils::releasing_iterator< ITERATOR >::difference_type = typename std::iterator_traits<ITERATOR>::difference_type |
Definition at line 45 of file releasing_iterator.h.
using CxxUtils::releasing_iterator< ITERATOR >::iterator_category = std::input_iterator_tag |
Definition at line 46 of file releasing_iterator.h.
using CxxUtils::releasing_iterator< ITERATOR >::pointer = value_type* |
Definition at line 44 of file releasing_iterator.h.
using CxxUtils::releasing_iterator< ITERATOR >::reference = value_type& |
Definition at line 43 of file releasing_iterator.h.
using CxxUtils::releasing_iterator< ITERATOR >::value_type = typename std::iterator_traits<ITERATOR>::value_type::pointer |
Definition at line 42 of file releasing_iterator.h.
|
inline |
Definition at line 48 of file releasing_iterator.h.
|
inline |
Definition at line 51 of file releasing_iterator.h.
|
inline |
Definition at line 49 of file releasing_iterator.h.
|
inline |
Definition at line 50 of file releasing_iterator.h.
|
private |
Definition at line 55 of file releasing_iterator.h.