#ifndef S2_R2RECT_H_
#define S2_R2RECT_H_
#include <iosfwd>
#include "base/check.h"
#include "s2/_fpcontractoff.h"
#include "s2/r1interval.h"
#include "s2/r2.h"
class R2Rect { … };
inline R2Rect::R2Rect(R2Point const& lo, R2Point const& hi) { … }
inline R2Rect::R2Rect(R1Interval const& x, R1Interval const& y) { … }
inline R2Rect::R2Rect() { … }
inline R2Rect R2Rect::Empty() { … }
inline bool R2Rect::is_valid() const { … }
inline bool R2Rect::is_empty() const { … }
inline R2Rect R2Rect::FromPoint(R2Point const& p) { … }
inline R2Point R2Rect::GetVertex(int k) const { … }
inline R2Point R2Rect::GetVertex(int i, int j) const { … }
inline R2Point R2Rect::GetCenter() const { … }
inline R2Point R2Rect::GetSize() const { … }
inline bool R2Rect::Contains(R2Point const& p) const { … }
inline bool R2Rect::InteriorContains(R2Point const& p) const { … }
inline R2Rect R2Rect::Expanded(double margin) const { … }
inline bool R2Rect::operator==(R2Rect const& other) const { … }
std::ostream& operator<<(std::ostream& os, R2Rect const& r);
#endif