Vector_2 and Vector_3 now also provide a Cartesian_const_iterator.

This commit is contained in:
Sylvain Pion
2008-04-09 17:58:57 +00:00
parent 853437f640
commit 11bbf3e2de
17 changed files with 399 additions and 104 deletions
@@ -48,7 +48,9 @@ class VectorC2
public:
typedef R_ R;
typedef typename Rep::const_iterator Cartesian_const_iterator;
typedef R_ R;
VectorC2() {}
@@ -84,6 +86,16 @@ public:
return constant<FT, 1>();
}
Cartesian_const_iterator cartesian_begin() const
{
return get(base).begin();
}
Cartesian_const_iterator cartesian_end() const
{
return get(base).end();
}
};
template < class R >
@@ -47,7 +47,9 @@ class VectorC3
public:
typedef R_ R;
typedef typename Rep::const_iterator Cartesian_const_iterator;
typedef R_ R;
VectorC3() {}
@@ -103,6 +105,16 @@ public:
return constant<FT, 1>();
}
Cartesian_const_iterator cartesian_begin() const
{
return get(base).begin();
}
Cartesian_const_iterator cartesian_end() const
{
return get(base).end();
}
const FT & cartesian(int i) const;
const FT & operator[](int i) const;
const FT & homogeneous(int i) const;