34#include "drain/Enum.h"
39extern const double DEG2RAD;
40extern const double RAD2DEG;
42extern const int EARTH_RADIUSi;
43extern const double EARTH_RADIUS;
62 template <
typename E=Unit>
64 E extract(
const std::string & expr);
73E Units::extract(
const std::string & expr){
75 const size_t N = expr.length();
76 for (
const auto & entry:
Enum<E>::dict){
77 const size_t n = entry.first.length();
79 if (expr.substr(N-n) == entry.first){
86 return static_cast<E
>(0);
91DRAIN_ENUM_OSTREAM(Unit)
A container for a static dictionary of enumeration values.
Definition Enum.h:51