//
// 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_