feat(const): added << operator to constant so that constants

also added tests for the stream operator
This commit is contained in:
2025-02-12 10:38:22 -05:00
parent 7dfedcdbe2
commit 98f4474786
3 changed files with 22 additions and 4 deletions

View File

@@ -82,7 +82,7 @@ bool constants::load(const std::string& filename) {
int start = 0;
std::string symbol = trim(line.substr(start, col_widths_[0])); start += col_widths_[0];
std::string name = line.substr(start, col_widths_[1]); start += col_widths_[1];
std::string name = trim(line.substr(start, col_widths_[1])); start += col_widths_[1];
std::string valueStr = line.substr(start, col_widths_[2]); start += col_widths_[2];
std::string unit = trim(line.substr(start, col_widths_[3])); start += col_widths_[3]; // Only trim the unit
std::string uncertaintyStr = line.substr(start, col_widths_[4]); start += col_widths_[4];

View File

@@ -16,6 +16,16 @@ struct constant {
double uncertainty; ///< Uncertainty in the constant's value
std::string unit; ///< Unit of the constant
std::string reference; ///< Reference for the constant's value
/**
* @brief overload the << operator for pretty printing
*/
friend std::ostream& operator<<(std::ostream& os, const constant& c) {
os << "<" << c.name << ": ";
os << c.value << "±" << c.uncertainty << " ";
os << c.unit << " (" << c.reference << ")>\n";
return os;
}
};
/**