mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
cleanup: const-ify DivePlotDataModel::*max() functions
These functions return the maximum partial pressures in the given dive. Obviously, being pure accessors, they should be const. This commit also replaces the macro generating these functions by a call to a function taking a pointer-to-member. Arguably, C++'s pointer-to-member syntax is just as horrible as macros, but at least it doesn't mess with syntax highlighting of my editor and should be better to debug. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
f3ac9c96c6
commit
f4103e4998
2 changed files with 25 additions and 15 deletions
|
@ -199,20 +199,30 @@ unsigned int DivePlotDataModel::dcShown() const
|
|||
return dcNr;
|
||||
}
|
||||
|
||||
#define MAX_PPGAS_FUNC(GAS, GASFUNC) \
|
||||
double DivePlotDataModel::GASFUNC() \
|
||||
{ \
|
||||
double ret = -1; \
|
||||
for (int i = 0, count = rowCount(); i < count; i++) { \
|
||||
if (pInfo.entry[i].pressures.GAS > ret) \
|
||||
ret = pInfo.entry[i].pressures.GAS; \
|
||||
} \
|
||||
return ret; \
|
||||
static double max_gas(const plot_info &pi, double gas_pressures::*gas)
|
||||
{
|
||||
double ret = -1;
|
||||
for (int i = 0; i < pi.nr; ++i) {
|
||||
if (pi.entry[i].pressures.*gas > ret)
|
||||
ret = pi.entry[i].pressures.*gas;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
MAX_PPGAS_FUNC(he, pheMax);
|
||||
MAX_PPGAS_FUNC(n2, pn2Max);
|
||||
MAX_PPGAS_FUNC(o2, po2Max);
|
||||
double DivePlotDataModel::pheMax() const
|
||||
{
|
||||
return max_gas(pInfo, &gas_pressures::he);
|
||||
}
|
||||
|
||||
double DivePlotDataModel::pn2Max() const
|
||||
{
|
||||
return max_gas(pInfo, &gas_pressures::n2);
|
||||
}
|
||||
|
||||
double DivePlotDataModel::po2Max() const
|
||||
{
|
||||
return max_gas(pInfo, &gas_pressures::o2);
|
||||
}
|
||||
|
||||
void DivePlotDataModel::emitDataChanged()
|
||||
{
|
||||
|
|
|
@ -82,9 +82,9 @@ public:
|
|||
void setDive(struct dive *d, const plot_info &pInfo);
|
||||
const plot_info &data() const;
|
||||
unsigned int dcShown() const;
|
||||
double pheMax();
|
||||
double pn2Max();
|
||||
double po2Max();
|
||||
double pheMax() const;
|
||||
double pn2Max() const;
|
||||
double po2Max() const;
|
||||
void emitDataChanged();
|
||||
|
||||
private:
|
||||
|
|
Loading…
Add table
Reference in a new issue