From af11d7c730631101e97b4f54f96a166a02634b6a Mon Sep 17 00:00:00 2001 From: Danny Robson Date: Wed, 8 Apr 2015 19:00:33 +1000 Subject: [PATCH] extent: add contract methods --- extent.cpp | 20 +++++++++++++++++++- extent.hpp | 2 ++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/extent.cpp b/extent.cpp index b12930a4..f7054fb9 100644 --- a/extent.cpp +++ b/extent.cpp @@ -77,7 +77,25 @@ template util::extent util::extent::expanded (T t) const { - return expanded (util::vector {t}); + return *this + util::vector {t}; +} + + +//----------------------------------------------------------------------------- +template +util::extent +util::extent::contracted (vector t) const +{ + return *this - t; +} + + +//----------------------------------------------------------------------------- +template +util::extent +util::extent::contracted (T t) const +{ + return *this - vector {-t}; } diff --git a/extent.hpp b/extent.hpp index c6014e99..ce47b157 100644 --- a/extent.hpp +++ b/extent.hpp @@ -45,6 +45,8 @@ namespace util { extent expanded (vector) const; extent expanded (T) const; + extent contracted (vector) const; + extent contracted (T) const; bool empty (void) const;