Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'geometry/rect2d.hpp')
-rw-r--r--geometry/rect2d.hpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/geometry/rect2d.hpp b/geometry/rect2d.hpp
index 36fcc701ee..896935b56d 100644
--- a/geometry/rect2d.hpp
+++ b/geometry/rect2d.hpp
@@ -31,6 +31,11 @@ namespace m2
template <typename T>
class Rect
{
+ template <class TArchive, class TPoint>
+ friend TArchive & operator << (TArchive & ar, Rect<TPoint> const & rect);
+ template <class TArchive, class TPoint>
+ friend TArchive & operator >> (TArchive & ar, Rect<TPoint> & rect);
+
enum { IsSigned = numeric_limits<T>::is_signed };
T m_minX, m_minY, m_maxX, m_maxY;
@@ -297,6 +302,26 @@ namespace m2
);
}
+ template <class TArchive, class PointT>
+ TArchive & operator >> (TArchive & ar, m2::Rect<PointT> & rect)
+ {
+ ar >> rect.m_minX;
+ ar >> rect.m_minY;
+ ar >> rect.m_maxX;
+ ar >> rect.m_maxY;
+ return ar;
+ }
+
+ template <class TArchive, class PointT>
+ TArchive & operator << (TArchive & ar, m2::Rect<PointT> const & rect)
+ {
+ ar << rect.m_minX;
+ ar << rect.m_minY;
+ ar << rect.m_maxX;
+ ar << rect.m_maxY;
+ return ar;
+ }
+
typedef Rect<float> RectF;
typedef Rect<double> RectD;
typedef Rect<unsigned> RectU;