-/** Used to represent an allow/deny module result.
- * Not constructed as an enum because it reverses the value logic of some functions;
- * the compiler will inline accesses to have the same efficiency as integer operations.
- */
-struct ModResult {
- int res;
- ModResult() : res(0) {}
- explicit ModResult(int r) : res(r) {}
- inline bool operator==(const ModResult& r) const
+/** Represents the result of a module event. */
+class ModResult
+{
+ private:
+ /** The underlying result value. */
+ char result;
+
+ public:
+ /** Creates a new instance of the ModResult class which defaults to MOD_RES_PASSTHRU. */
+ ModResult()
+ : result(0)