rem: MESSAGE_ITEM& operator<< (float n) { return operator<<((double)n); }
add: MESSAGE_ITEM& operator<< (const string& c) { stringtemp = stringtemp + c; return (*this); }
context:     MESSAGE_ITEM& operator<< (float n) { return operator<<((double)n); }