add NumberRange specialization for 1 argument (creates a "[0, v)" range)

master
Daniel Kolesa 2015-04-17 20:33:36 +01:00
parent 1557c227d0
commit c9b7afc035
1 changed files with 6 additions and 0 deletions

View File

@ -153,6 +153,7 @@ namespace octa {
NumberRange(const NumberRange &it): p_a(it.p_a), p_b(it.p_b),
p_step(it.p_step) {}
NumberRange(T a, T b, T step = 1): p_a(a), p_b(b), p_step(step) {}
NumberRange(T v): p_a(0), p_b(v), p_step(1) {}
bool operator==(const NumberRange &v) const {
return p_a == v.p_a && p_b == v.p_b && p_step == v.p_step;
@ -173,6 +174,11 @@ namespace octa {
NumberRange<T> range(T a, T b, T step = 1) {
return NumberRange<T>(a, b, step);
}
template<typename T>
NumberRange<T> range(T v) {
return NumberRange<T>(v);
}
}
#endif