template <class T>
class Vector {
T t;
public:
T &operator [](int i) { return t; }
};
template <class R>
class Point {
public:
R x, y, z;
R mod2() const { return x*x+y*y+z*z; }
};
template <class T, class R>
bool blend(Vector<T> &p, const R epsilon) {
R m = p[0].mod2();
return m < epsilon ? true : false;
}
int main() {
Vector< Point<double> > u;
return blend(u, 1E-6);
}