From ddb18b9d0d200ecb7ef3d286a6d80d328f0ced7b Mon Sep 17 00:00:00 2001 From: q66 Date: Thu, 25 Jun 2015 01:07:11 +0100 Subject: [PATCH] relax RangeHalf copy constructor a little (allow convertible range types) --- octa/range.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/octa/range.h b/octa/range.h index 882e44e..a7a183c 100644 --- a/octa/range.h +++ b/octa/range.h @@ -247,8 +247,13 @@ public: using Range = T; RangeHalf(): p_range() {} + RangeHalf(const T &range): p_range(range) {} - RangeHalf(const RangeHalf &half): p_range(half.p_range) {} + + template RangeHalf(const RangeHalf &half, + octa::EnableIf::value, bool> = true + ): p_range(half.p_range) {} + RangeHalf(RangeHalf &&half): p_range(octa::move(half.p_range)) {} RangeHalf &operator=(const RangeHalf &half) {