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()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue