diff options
-rw-r--r-- | src/Position.h | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/Position.h b/src/Position.h index 258eb177f..804d8681a 100644 --- a/src/Position.h +++ b/src/Position.h @@ -11,6 +11,7 @@ /** * A Position is a position within a document between two characters or at the beginning or end. * Sometimes used as a character index where it identifies the character after the position. + * A Line is a document or screen line. */ namespace Sci { @@ -18,19 +19,11 @@ namespace Sci { typedef int Position; typedef int Line; -// A later version (4.x) of this file may: -//#if defined(SCI_LARGE_FILE_SUPPORT) -//typedef std::ptrdiff_t Position; -// or may allow runtime choice between different position sizes. - const Position invalidPosition = -1; -inline int clamp(int val, int minVal, int maxVal) { - if (val > maxVal) - val = maxVal; - if (val < minVal) - val = minVal; - return val; +template <typename T> +inline constexpr T clamp(T val, T minVal, T maxVal) { + return (val > maxVal) ? maxVal : ((val < minVal) ? minVal : val); } } |