#pragma once #include template T dist2(const V& lhs, const V& rhs) { return std::sqrt( std::pow(lhs.x - rhs.x, 2) + std::pow(lhs.y - rhs.y, 2)); } template T dist3(const V& lhs, const V& rhs) { return std::sqrt( std::pow(lhs.x - rhs.x, 2) + std::pow(lhs.y - rhs.y, 2) + std::pow(lhs.z - rhs.z, 2)); }