If I understand correctly... You can just dereference the iterator to a temporary reference inside the loop for convenience and access coefficients inside like with any Eigen
object:
for(auto it = uvVertices.begin(); it != uvVertices.end(); ++it) {
Matrix<float, 2, 1>& v = *it;
//auto& v = *it; // should also work
std::cout << v(0,0);
std::cout << v(1,0);
}
You could also use range-for:
for(auto& v : uvVertices) {
std::cout << v(0,0);
std::cout << v(1,0);
}
I would also consider using Eigen::Vector
type for a vector.