From 06c612827e830562514452e9b79b4bc3a7c8863b Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Fri, 1 Apr 2011 03:05:53 +0100 Subject: Added serialization code for m2::Rect, m2::Point and m2::Region --- geometry/rect2d.hpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'geometry/rect2d.hpp') 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 class Rect { + template + friend TArchive & operator << (TArchive & ar, Rect const & rect); + template + friend TArchive & operator >> (TArchive & ar, Rect & rect); + enum { IsSigned = numeric_limits::is_signed }; T m_minX, m_minY, m_maxX, m_maxY; @@ -297,6 +302,26 @@ namespace m2 ); } + template + TArchive & operator >> (TArchive & ar, m2::Rect & rect) + { + ar >> rect.m_minX; + ar >> rect.m_minY; + ar >> rect.m_maxX; + ar >> rect.m_maxY; + return ar; + } + + template + TArchive & operator << (TArchive & ar, m2::Rect const & rect) + { + ar << rect.m_minX; + ar << rect.m_minY; + ar << rect.m_maxX; + ar << rect.m_maxY; + return ar; + } + typedef Rect RectF; typedef Rect RectD; typedef Rect RectU; -- cgit v1.2.3