diff --git a/region.cpp b/region.cpp index 067f000c..7bf4710e 100644 --- a/region.cpp +++ b/region.cpp @@ -63,7 +63,7 @@ util::region::region (std::array args) //----------------------------------------------------------------------------- template -typename util::region::size_type +T util::region::area (void) const { return e.area (); @@ -72,7 +72,7 @@ util::region::area (void) const //----------------------------------------------------------------------------- template -typename util::region::size_type +T util::region::diameter (void) const { return e.diameter (); @@ -101,7 +101,7 @@ util::region::magnitude (extent_t _e) //----------------------------------------------------------------------------- template void -util::region::scale (size_type factor) +util::region::scale (T factor) { auto o = (e * factor - e) / T(2); p -= o; @@ -371,8 +371,8 @@ namespace util { namespace debug { struct validator> { static bool is_valid (const util::region &r) { - CHECK_GE (r.area (), 0u); - CHECK_GE (min (r.e), 0u); + CHECK_GE (r.area (), T{0}); + CHECK_GE (min (r.e), T{0}); return r.area () >= 0 && min (r.e) >= 0; } diff --git a/region.hpp b/region.hpp index d725d184..709d04fd 100644 --- a/region.hpp +++ b/region.hpp @@ -31,11 +31,8 @@ namespace util { */ template struct region { - using position_type = T; - using size_type = typename try_unsigned::type; - - using extent_t = util::extent; - using point_t = util::point; + using extent_t = util::extent; + using point_t = util::point; using value_type = T; @@ -66,12 +63,12 @@ namespace util { constexpr region cast (void) const; //--------------------------------------------------------------------- - size_type area (void) const; - size_type diameter (void) const; + T area (void) const; + T diameter (void) const; extent_t magnitude (void) const; extent_t magnitude (extent_t); - void scale (size_type factor); + void scale (T factor); bool empty (void) const; diff --git a/region.ipp b/region.ipp index 38000f3e..a2cb318e 100644 --- a/region.ipp +++ b/region.ipp @@ -26,8 +26,8 @@ namespace util { region::cast (void) const { return { - p.template cast::position_type> (), - e.template cast::size_type> () + p.template cast (), + e.template cast () }; } }