1 #ifndef GENESIS_UTILS_CONTAINERS_DEREF_ITERATOR_H_ 2 #define GENESIS_UTILS_CONTAINERS_DEREF_ITERATOR_H_ 59 template <
class BaseIterator>
64 using value_type =
typename BaseIterator::value_type::element_type;
71 : BaseIterator( other )
76 return *(this->BaseIterator::operator*());
81 return this->BaseIterator::operator*().get();
86 return *( this->BaseIterator::operator[]( n ));
93 #endif // include guard pointer operator->() const
Iterator class that exposes elements in a container of pointers.
Container namespace for all symbols of genesis in order to keep them separate when used as a library...
reference operator[](difference_type n) const
DereferenceIterator(BaseIterator const &other)
reference operator*() const
typename BaseIterator::value_type::element_type value_type
typename BaseIterator::difference_type difference_type