transmission/qt/Speed.h

75 lines
1.1 KiB
C
Raw Normal View History

2009-04-09 18:55:47 +00:00
/*
* This file Copyright (C) 2009-2015 Mnemosyne LLC
2009-04-09 18:55:47 +00:00
*
* It may be used under the GNU GPL versions 2 or 3
* or any future license endorsed by Mnemosyne LLC.
2009-04-09 18:55:47 +00:00
*
*/
#pragma once
2009-04-09 18:55:47 +00:00
class Speed
{
public:
Speed() = default;
double KBps() const;
int Bps() const
{
return _Bps;
}
bool isZero() const
{
return _Bps == 0;
}
static Speed fromKBps(double KBps);
static Speed fromBps(int Bps)
{
return Speed(Bps);
}
void setBps(int Bps)
{
_Bps = Bps;
}
Speed& operator +=(Speed const& that)
{
_Bps += that._Bps;
return *this;
}
Speed operator +(Speed const& that) const
{
return Speed(_Bps + that._Bps);
}
bool operator <(Speed const& that) const
{
return _Bps < that._Bps;
}
bool operator ==(Speed const& that) const
{
return _Bps == that._Bps;
}
bool operator !=(Speed const& that) const
{
return _Bps != that._Bps;
}
private:
Speed(int Bps) :
_Bps(Bps)
{
}
private:
int _Bps = 0;
2009-04-09 18:55:47 +00:00
};