update lookup table example

This commit is contained in:
Amar Mahmutbegovic
2024-09-23 00:17:56 +02:00
parent 6090eba6d3
commit 87087b3bfb
11 changed files with 301 additions and 72 deletions

View File

@@ -0,0 +1,33 @@
#pragma once
namespace units
{
template<typename T, typename ST>
class unit {
private:
T val_;
public:
explicit unit(T val) : val_(val){}
[[nodiscard]] T get() const {return val_;}
[[nodiscard]] T get_mili() const {return 1e3 * val_;}
constexpr T operator/(const unit& second) const{
return val_ / second.get();
}
constexpr unit operator*(const T& second) const{
return unit(val_ * second);
}
constexpr unit operator/(const T& second) const{
return unit(val_ / second);
}
};
using voltage = unit<float, struct the_voltage>;
using resistance = unit<float, struct the_resistance>;
voltage operator""_V(long double volts);
resistance operator""_Ohm(long double ohms);
};