// Duration class (copyright 2003 Information Disciplines, Inc., Chicago) // -------------- #ifndef DURATION #define DURATION const Duration class Duration { double value; // Seconds public: static char* units; // Constructors // ------------ Duration(DOUBLE s=0.0) : value(s) {} // The compiler will provide an acceptable copy constructor, // destructor, and assignment operator. // Arithmetic operators // -------------------- #define Class Duration #include "Additive.hpp" // Relational operators // -------------------- friend bool operator== (Duration ls, Duration rs) {return ls.value == rs.value;} friend bool operator< (Duration ls, Duration rs) {return ls.value < rs.value;} }; inline Duration& Duration::operator+= (DURATION rs){value += rs.value;} inline Duration& Duration::operator-= (DURATION rs){value -= rs.value;} inline Duration& Duration::operator*= (DOUBLE rs){value *= rs;} inline Duration& Duration::operator/= (DOUBLE rs){value /= rs;} #undef Class #endif