// // This software may only be used by you under license from the // University of Notre Dame. A copy of the University of Notre Dame's // Source Code Agreement is available at the inilib Internet website // having the URL: If you // received this software without first entering into a license with the // University of Notre Dame, you have an infringing copy of this software // and cannot use it without violating the University of Notre Dame's // intellectual property rights. // // AUTOMATICALLY GENERATED BY op_overload_gen.pl // Edit this file at your own risk. People have been killed for less. // #ifndef ATTR_OTHER_ARITH_H_ #define ATTR_OTHER_ARITH_H_ #include #include "Debug.h" #include "attribute.h" #include "bool_attribute.h" #include "double_attribute.h" #include "int_attribute.h" #include "string_attribute.h" namespace INI { inline bool operator+(const INI::attribute& a, bool b) { return ((bool) a + b); } inline bool operator+(bool& a, const INI::attribute& b) { return (a + (bool) b); } inline double operator+(const INI::attribute& a, double b) { return ((double) a + b); } inline double operator+(double& a, const INI::attribute& b) { return (a + (double) b); } inline int operator+(const INI::attribute& a, int b) { return ((int) a + b); } inline int operator+(int& a, const INI::attribute& b) { return (a + (int) b); } inline std::string operator+(const INI::attribute& a, std::string b) { return ((std::string) a + b); } inline std::string operator+(std::string& a, const INI::attribute& b) { return (a + (std::string) b); } inline bool operator*(const INI::attribute& a, bool b) { return ((bool) a * b); } inline bool operator*(bool& a, const INI::attribute& b) { return (a * (bool) b); } inline bool operator/(const INI::attribute& a, bool b) { return ((bool) a / b); } inline bool operator/(bool& a, const INI::attribute& b) { return (a / (bool) b); } inline bool operator%(const INI::attribute& a, bool b) { return ((bool) a % b); } inline bool operator%(bool& a, const INI::attribute& b) { return (a % (bool) b); } inline bool operator-(const INI::attribute& a, bool b) { return ((bool) a - b); } inline bool operator-(bool& a, const INI::attribute& b) { return (a - (bool) b); } inline double operator*(const INI::attribute& a, double b) { return ((double) a * b); } inline double operator*(double& a, const INI::attribute& b) { return (a * (double) b); } inline double operator/(const INI::attribute& a, double b) { return ((double) a / b); } inline double operator/(double& a, const INI::attribute& b) { return (a / (double) b); } inline double operator%(const INI::attribute& a, double b) { return (double) ((int) a % (int) b); } inline double operator%(double& a, const INI::attribute& b) { return (double) ((int) a % (int) b); } inline double operator-(const INI::attribute& a, double b) { return ((double) a - b); } inline double operator-(double& a, const INI::attribute& b) { return (a - (double) b); } inline int operator*(const INI::attribute& a, int b) { return ((int) a * b); } inline int operator*(int& a, const INI::attribute& b) { return (a * (int) b); } inline int operator/(const INI::attribute& a, int b) { return ((int) a / b); } inline int operator/(int& a, const INI::attribute& b) { return (a / (int) b); } inline int operator%(const INI::attribute& a, int b) { return ((int) a % b); } inline int operator%(int& a, const INI::attribute& b) { return (a % (int) b); } inline int operator-(const INI::attribute& a, int b) { return ((int) a - b); } inline int operator-(int& a, const INI::attribute& b) { return (a - (int) b); } } #endif // ATTR_OTHER_ARITH_H_