aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/Position.h15
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);
}
}