/* * Copyright (C) 2007-2013 Xagasoft, All rights reserved. * * This file is part of the libgats library and is released under the * terms of the license contained in the file LICENSE. */ #ifndef GATS_FLOAT_H #define GATS_FLOAT_H #include "gats/object.h" #include namespace Gats { class Float : public Gats::Object { public: Float(); Float( double f ); virtual ~Float(); virtual Object *clone() const; virtual Type getType() const { return typeFloat; } double getValue() const { return fVal; } virtual void write( Bu::Stream &rOut ) const; virtual void read( Bu::Stream &rIn, char cType ); Gats::Float &operator=( const Gats::Float &rhs ); Gats::Float &operator=( float &rhs ); bool operator==( const Gats::Float &rhs ) const; bool operator==( float rhs ) const; private: double fVal; mutable Bu::String sWriteCache; }; } Bu::Formatter &operator<<( Bu::Formatter &f, const Gats::Float &flt ); #endif