#ifndef EIGEN_STLITERATORS_H
#define EIGEN_STLITERATORS_H
#include "./InternalHeaderCheck.h"
namespace Eigen {
namespace internal {
template <typename IteratorType>
struct indexed_based_stl_iterator_traits;
template <typename Derived>
class indexed_based_stl_iterator_base { … };
template <typename Derived>
class indexed_based_stl_reverse_iterator_base { … };
template <typename XprType>
class pointer_based_stl_iterator { … };
indexed_based_stl_iterator_traits<generic_randaccess_stl_iterator<XprType_>>;
template <typename XprType>
class generic_randaccess_stl_iterator
: public indexed_based_stl_iterator_base<generic_randaccess_stl_iterator<XprType>> { … };
indexed_based_stl_iterator_traits<subvector_stl_iterator<XprType_, Direction>>;
template <typename XprType, DirectionType Direction>
class subvector_stl_iterator : public indexed_based_stl_iterator_base<subvector_stl_iterator<XprType, Direction>> { … };
indexed_based_stl_iterator_traits<subvector_stl_reverse_iterator<XprType_, Direction>>;
template <typename XprType, DirectionType Direction>
class subvector_stl_reverse_iterator
: public indexed_based_stl_reverse_iterator_base<subvector_stl_reverse_iterator<XprType, Direction>> { … };
}
template <typename Derived>
inline typename DenseBase<Derived>::iterator DenseBase<Derived>::begin() { … }
template <typename Derived>
inline typename DenseBase<Derived>::const_iterator DenseBase<Derived>::begin() const { … }
template <typename Derived>
inline typename DenseBase<Derived>::const_iterator DenseBase<Derived>::cbegin() const { … }
template <typename Derived>
inline typename DenseBase<Derived>::iterator DenseBase<Derived>::end() { … }
template <typename Derived>
inline typename DenseBase<Derived>::const_iterator DenseBase<Derived>::end() const { … }
template <typename Derived>
inline typename DenseBase<Derived>::const_iterator DenseBase<Derived>::cend() const { … }
}
#endif