//
// 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.
//
// $Id: bool_attribute.h,v 1.7 2002/05/09 18:51:21 bwbarrett Exp $
//
// FUNCTION: Parse initialization files,
// maintain state of program
// save state of program
#ifndef INI_BOOL_ATTRIBUTE_H_
#define INI_BOOL_ATTRIBUTE_H_
#include
#include "attribute.h"
#include "ini_functions.h"
namespace INI {
class bool_attribute : public attribute {
public:
bool_attribute(bool);
virtual attribute& operator=(int);
virtual attribute& operator=(double);
virtual attribute& operator=(const std::string&);
virtual attribute& operator=(bool);
virtual attribute& operator=(const attribute&);
virtual attribute& operator=(const char*);
virtual operator int() const;
virtual operator double() const;
virtual operator std::string() const;
virtual operator bool() const;
virtual attribute& operator*=(bool);
virtual attribute& operator*=(double);
virtual attribute& operator*=(int);
virtual attribute& operator*=(const std::string&);
virtual attribute& operator*=(const attribute&);
virtual attribute& operator/=(bool);
virtual attribute& operator/=(double);
virtual attribute& operator/=(int);
virtual attribute& operator/=(const std::string&);
virtual attribute& operator/=(const attribute&);
virtual attribute& operator%=(bool);
virtual attribute& operator%=(double);
virtual attribute& operator%=(int);
virtual attribute& operator%=(const std::string&);
virtual attribute& operator%=(const attribute&);
virtual attribute& operator+=(bool);
virtual attribute& operator+=(double);
virtual attribute& operator+=(int);
virtual attribute& operator+=(const std::string&);
virtual attribute& operator+=(const attribute&);
virtual attribute& operator-=(bool);
virtual attribute& operator-=(double);
virtual attribute& operator-=(int);
virtual attribute& operator-=(const std::string&);
virtual attribute& operator-=(const attribute&);
virtual attribute& operator++(); // prefix
virtual attribute& operator--();
virtual attr_type get_type() const;
protected:
virtual attribute* make_copy() const;
bool value;
private:
};
}
#endif // INI_BOOL_ATTRIBUTE_H_