chromium/net/third_party/quiche/src/quiche/quic/core/quic_bandwidth.h

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// QuicBandwidth represents a bandwidth, stored in bits per second resolution.

#ifndef QUICHE_QUIC_CORE_QUIC_BANDWIDTH_H_
#define QUICHE_QUIC_CORE_QUIC_BANDWIDTH_H_

#include <cmath>
#include <cstdint>
#include <limits>
#include <ostream>
#include <string>

#include "quiche/quic/core/quic_constants.h"
#include "quiche/quic/core/quic_time.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/platform/api/quic_export.h"
#include "quiche/quic/platform/api/quic_flag_utils.h"

namespace quic {

class QUICHE_EXPORT QuicBandwidth {};

// Non-member relational operators for QuicBandwidth.
inline bool operator==(QuicBandwidth lhs, QuicBandwidth rhs) {}
inline bool operator!=(QuicBandwidth lhs, QuicBandwidth rhs) {}
inline bool operator<(QuicBandwidth lhs, QuicBandwidth rhs) {}
inline bool operator>(QuicBandwidth lhs, QuicBandwidth rhs) {}
inline bool operator<=(QuicBandwidth lhs, QuicBandwidth rhs) {}
inline bool operator>=(QuicBandwidth lhs, QuicBandwidth rhs) {}

// Non-member arithmetic operators for QuicBandwidth.
inline constexpr QuicBandwidth operator+(QuicBandwidth lhs, QuicBandwidth rhs) {}
inline constexpr QuicBandwidth operator-(QuicBandwidth lhs, QuicBandwidth rhs) {}
inline QuicBandwidth operator*(QuicBandwidth lhs, float rhs) {}
inline QuicBandwidth operator*(float lhs, QuicBandwidth rhs) {}
inline constexpr QuicByteCount operator*(QuicBandwidth lhs,
                                         QuicTime::Delta rhs) {}
inline constexpr QuicByteCount operator*(QuicTime::Delta lhs,
                                         QuicBandwidth rhs) {}

// Override stream output operator for gtest.
inline std::ostream& operator<<(std::ostream& output,
                                const QuicBandwidth bandwidth) {}

}  // namespace quic
#endif  // QUICHE_QUIC_CORE_QUIC_BANDWIDTH_H_