mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	Fix "identical expressions on both sides of comparison"
This commit is contained in:
		| @@ -109,51 +109,52 @@ bool AbstractGoal::operator==(const AbstractGoal & g) const | ||||
| 	return false; | ||||
| } | ||||
|  | ||||
| bool AbstractGoal::operator<(AbstractGoal & g) //for std::unique | ||||
| { | ||||
| 	//TODO: make sure it gets goals consistent with == operator | ||||
| 	if (goalType < g.goalType) | ||||
| 		return true; | ||||
| 	if (goalType > g.goalType) | ||||
| 		return false; | ||||
| 	if (hero < g.hero) | ||||
| 		return true; | ||||
| 	if (hero > g.hero) | ||||
| 		return false; | ||||
| 	if (tile < g.tile) | ||||
| 		return true; | ||||
| 	if (g.tile < tile) | ||||
| 		return false; | ||||
| 	if (objid < g.objid) | ||||
| 		return true; | ||||
| 	if (objid > g.objid) | ||||
| 		return false; | ||||
| 	if (town < g.town) | ||||
| 		return true; | ||||
| 	if (town > g.town) | ||||
| 		return false; | ||||
| 	if (value < g.value) | ||||
| 		return true; | ||||
| 	if (value > g.value) | ||||
| 		return false; | ||||
| 	if (priority < g.priority) | ||||
| 		return true; | ||||
| 	if (priority > g.priority) | ||||
| 		return false; | ||||
| 	if (resID < g.resID) | ||||
| 		return true; | ||||
| 	if (resID > g.resID) | ||||
| 		return false; | ||||
| 	if (bid < g.bid) | ||||
| 		return true; | ||||
| 	if (bid > g.bid) | ||||
| 		return false; | ||||
| 	if (aid < g.aid) | ||||
| 		return true; | ||||
| 	if (aid > g.aid) | ||||
| 		return false; | ||||
| 	return false; | ||||
| } | ||||
| // FIXME: unused code? | ||||
| //bool AbstractGoal::operator<(AbstractGoal & g) //for std::unique | ||||
| //{ | ||||
| //	//TODO: make sure it gets goals consistent with == operator | ||||
| //	if (goalType < g.goalType) | ||||
| //		return true; | ||||
| //	if (goalType > g.goalType) | ||||
| //		return false; | ||||
| //	if (hero < g.hero) | ||||
| //		return true; | ||||
| //	if (hero > g.hero) | ||||
| //		return false; | ||||
| //	if (tile < g.tile) | ||||
| //		return true; | ||||
| //	if (g.tile < tile) | ||||
| //		return false; | ||||
| //	if (objid < g.objid) | ||||
| //		return true; | ||||
| //	if (objid > g.objid) | ||||
| //		return false; | ||||
| //	if (town < g.town) | ||||
| //		return true; | ||||
| //	if (town > g.town) | ||||
| //		return false; | ||||
| //	if (value < g.value) | ||||
| //		return true; | ||||
| //	if (value > g.value) | ||||
| //		return false; | ||||
| //	if (priority < g.priority) | ||||
| //		return true; | ||||
| //	if (priority > g.priority) | ||||
| //		return false; | ||||
| //	if (resID < g.resID) | ||||
| //		return true; | ||||
| //	if (resID > g.resID) | ||||
| //		return false; | ||||
| //	if (bid < g.bid) | ||||
| //		return true; | ||||
| //	if (bid > g.bid) | ||||
| //		return false; | ||||
| //	if (aid < g.aid) | ||||
| //		return true; | ||||
| //	if (aid > g.aid) | ||||
| //		return false; | ||||
| //	return false; | ||||
| //} | ||||
|  | ||||
| //TODO: find out why the following are not generated automatically on MVS? | ||||
| bool TSubgoal::operator==(const TSubgoal & rhs) const | ||||
|   | ||||
| @@ -165,16 +165,16 @@ namespace Goals | ||||
| 		virtual float accept(FuzzyHelper * f); | ||||
|  | ||||
| 		virtual bool operator==(const AbstractGoal & g) const; | ||||
| 		bool operator<(AbstractGoal & g); //final | ||||
| //		bool operator<(AbstractGoal & g); //final | ||||
| 		virtual bool fulfillsMe(Goals::TSubgoal goal) //TODO: multimethod instead of type check | ||||
| 		{ | ||||
| 			return false; //use this method to check if goal is fulfilled by another (not equal) goal, operator == is handled spearately | ||||
| 		} | ||||
|  | ||||
| 		bool operator!=(const AbstractGoal & g) const | ||||
| 		{ | ||||
| 			return !(*this == g); | ||||
| 		} | ||||
| //		bool operator!=(const AbstractGoal & g) const | ||||
| //		{ | ||||
| //			return !(*this == g); | ||||
| //		} | ||||
|  | ||||
| 		template<typename Handler> void serialize(Handler & h) | ||||
| 		{ | ||||
|   | ||||
							
								
								
									
										22
									
								
								lib/int3.h
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								lib/int3.h
									
									
									
									
									
								
							| @@ -84,19 +84,13 @@ public: | ||||
|  | ||||
| 	constexpr bool operator<(const int3 & i) const | ||||
| 	{ | ||||
| 		if (z < i.z) | ||||
| 			return true; | ||||
| 		if (z > i.z) | ||||
| 			return false; | ||||
| 		if (y < i.y) | ||||
| 			return true; | ||||
| 		if (y > i.y) | ||||
| 			return false; | ||||
| 		if (x < i.x) | ||||
| 			return true; | ||||
| 		if (x > i.x) | ||||
| 			return false; | ||||
| 		return false; | ||||
| 		if (z != i.z) | ||||
| 			return z < i.z; | ||||
|  | ||||
| 		if (y != i.y) | ||||
| 			return y < i.y; | ||||
|  | ||||
| 		return x < i.x; | ||||
| 	} | ||||
|  | ||||
| 	enum EDistanceFormula | ||||
| @@ -224,4 +218,4 @@ struct std::hash<VCMI_LIB_WRAP_NAMESPACE(int3)> { | ||||
| 	std::size_t operator()(VCMI_LIB_WRAP_NAMESPACE(int3) const& pos) const noexcept { | ||||
| 		return hash_value(pos); | ||||
| 	} | ||||
| }; | ||||
| }; | ||||
|   | ||||
| @@ -126,12 +126,8 @@ public: | ||||
| 			return true; | ||||
| 		if (y>i.y) | ||||
| 			return false; | ||||
| 		if (x<i.x) | ||||
| 			return true; | ||||
| 		if (x>i.x) | ||||
| 			return false; | ||||
|  | ||||
| 		return false; | ||||
| 		return x<i.x; | ||||
| 	} | ||||
|  | ||||
| 	std::string toString() const | ||||
|   | ||||
		Reference in New Issue
	
	Block a user