extent: prefer constexpr functions over static variables

This commit is contained in:
Danny Robson 2016-12-12 17:06:55 +11:00
parent f6116eb63e
commit b5932c4537
3 changed files with 25 additions and 15 deletions

View File

@ -86,19 +86,6 @@ extent<S,T>::empty (void) const
}
///////////////////////////////////////////////////////////////////////////////
template <size_t S, typename T>
const extent<S,T> extent<S,T>::MIN { 0 };
//-----------------------------------------------------------------------------
template <size_t S, typename T>
const extent<S,T> extent<S,T>::MAX
{
std::numeric_limits<T>::max ()
};
///////////////////////////////////////////////////////////////////////////////
template <size_t S, typename T>
extent_range<S,T>::extent_range (extent<S,T> _target):

View File

@ -51,8 +51,8 @@ namespace util {
bool empty (void) const;
static const extent MAX;
static const extent MIN;
static constexpr extent max (void);
static constexpr extent min (void);
};
template <size_t S, typename T>

View File

@ -22,6 +22,7 @@
#define __UTIL_EXTENT_IPP
#include <algorithm>
#include <limits>
///////////////////////////////////////////////////////////////////////////////
@ -76,3 +77,25 @@ util::extent<S,T>::includes (point<S,U> p) const
return false;
return true;
}
///////////////////////////////////////////////////////////////////////////////
template <size_t S, typename T>
constexpr
util::extent<S,T>
util::extent<S,T>::max (void)
{
return extent<S,T> {
std::numeric_limits<T>::max ()
};
}
//-----------------------------------------------------------------------------
template <size_t S, typename T>
constexpr
util::extent<S,T>
util::extent<S,T>::min (void)
{
return extent<S,T> { 0 };
}