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) {