The global pi declaration can be removed in favor of the mathematical constant declarations in the <numbers> header.
(It's only used in two places for now, so the change is minimal)
#include <numbers>
//...
// Get area of circle
inline constexpr T area() const
{
return std::numbers::pi_v<T> * radius * radius;
}
// Get circumference of circle
inline constexpr T perimeter() const
{
return T{2.0} * std::numbers::pi_v<T> * radius;
}
//...