diff options
author | vng <viktor.govako@gmail.com> | 2011-10-06 00:33:31 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:25:12 +0300 |
commit | bf2bc5626345b91725c82f12796d8576f4c39841 (patch) | |
tree | 73fdddc97abbc0a3286cedea99171b36fa43ae94 /geometry | |
parent | 770068b9bc636a8433e8fc9b195b852cf89c0895 (diff) |
Add m2::Region::Swap
Diffstat (limited to 'geometry')
-rw-r--r-- | geometry/region2d.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/geometry/region2d.hpp b/geometry/region2d.hpp index 6e29fb75ca..cebe204d44 100644 --- a/geometry/region2d.hpp +++ b/geometry/region2d.hpp @@ -121,6 +121,12 @@ namespace m2 bool IsValid() const { return m_points.size() > 2; } + void Swap(Region<PointT> & rhs) + { + m_points.swap(rhs.m_points); + swap(m_rect, rhs.m_rect); + } + public: /// Taken from Computational Geometry in C and modified template <class EqualF> @@ -197,6 +203,12 @@ namespace m2 template <class T> friend string DebugPrint(Region<T> const &); }; + template <class PointT> + void swap(Region<PointT> & r1, Region<PointT> & r2) + { + r1.Swap(r2); + } + template <class TArchive, class PointT> TArchive & operator >> (TArchive & ar, Region<PointT> & region) { |