text: //
  // 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: <http://inilib.sourceforge.net/license/> 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_COMP_H_
  #define ATTR_OTHER_COMP_H_
  
  #include <string>
  
  #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 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, double b)
  {
    return ((double) a < b);
  }
  
  inline bool
  operator<(double& a, const INI::attribute& b)
  {
    return (a < (double) b);
  }
  
  
  inline bool
  operator==(const INI::attribute& a, double b)
  {
    return ((double) a == b);
  }
  
  inline bool
  operator==(double& a, const INI::attribute& b)
  {
    return (a == (double) b);
  }
  
  
  inline bool
  operator!=(const INI::attribute& a, double b)
  {
    return ((double) a != b);
  }
  
  inline bool
  operator!=(double& a, const INI::attribute& b)
  {
    return (a != (double) b);
  }
  
  
  inline bool
  operator<(const INI::attribute& a, int b)
  {
    return ((int) a < b);
  }
  
  inline bool
  operator<(int& a, const INI::attribute& b)
  {
    return (a < (int) b);
  }
  
  
  inline bool
  operator==(const INI::attribute& a, int b)
  {
    return ((int) a == b);
  }
  
  inline bool
  operator==(int& a, const INI::attribute& b)
  {
    return (a == (int) b);
  }
  
  
  inline bool
  operator!=(const INI::attribute& a, int b)
  {
    return ((int) a != b);
  }
  
  inline bool
  operator!=(int& a, const INI::attribute& b)
  {
    return (a != (int) b);
  }
  
  
  inline bool
  operator<(const INI::attribute& a, std::string b)
  {
    return ((std::string) a < b);
  }
  
  inline bool
  operator<(std::string& a, const INI::attribute& b)
  {
    return (a < (std::string) b);
  }
  
  
  inline bool
  operator==(const INI::attribute& a, std::string b)
  {
    return ((std::string) a == b);
  }
  
  inline bool
  operator==(std::string& a, const INI::attribute& b)
  {
    return (a == (std::string) b);
  }
  
  
  inline bool
  operator!=(const INI::attribute& a, std::string b)
  {
    return ((std::string) a != b);
  }
  
  inline bool
  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, double b)
  {
    return ((double) a <= b);
  }
  
  inline bool
  operator<=(double& a, const INI::attribute& b)
  {
    return (a <= (double) b);
  }
  
  
  inline bool
  operator>(const INI::attribute& a, double b)
  {
    return ((double) a > b);
  }
  
  inline bool
  operator>(double& a, const INI::attribute& b)
  {
    return (a > (double) b);
  }
  
  
  inline bool
  operator>=(const INI::attribute& a, double b)
  {
    return ((double) a >= b);
  }
  
  inline bool
  operator>=(double& a, const INI::attribute& b)
  {
    return (a >= (double) b);
  }
  
  
  inline bool
  operator<=(const INI::attribute& a, int b)
  {
    return ((int) a <= b);
  }
  
  inline bool
  operator<=(int& a, const INI::attribute& b)
  {
    return (a <= (int) b);
  }
  
  
  inline bool
  operator>(const INI::attribute& a, int b)
  {
    return ((int) a > b);
  }
  
  inline bool
  operator>(int& a, const INI::attribute& b)
  {
    return (a > (int) b);
  }
  
  
  inline bool
  operator>=(const INI::attribute& a, int b)
  {
    return ((int) a >= b);
  }
  
  inline bool
  operator>=(int& a, const INI::attribute& b)
  {
    return (a >= (int) b);
  }
  
  
  }
  #endif // ATTR_OTHER_COMP_H_
  