@@ -24,8 +24,8 @@ namespace SBG {
24
24
namespace LIB {
25
25
26
26
Interval::Interval () : begin_(1 ), step_(1 ), end_(0 ) {}
27
- Interval::Interval (NAT x) : begin_(x), step_(1 ), end_(x) {}
28
- Interval::Interval (NAT begin, NAT step, NAT end)
27
+ Interval::Interval (const NAT & x) : begin_(x), step_(1 ), end_(x) {}
28
+ Interval::Interval (const NAT & begin, const NAT & step, const NAT & end)
29
29
: begin_(begin), step_(step), end_(end)
30
30
{
31
31
if (end >= begin) {
@@ -43,9 +43,12 @@ Interval::Interval(NAT begin, NAT step, NAT end)
43
43
}
44
44
}
45
45
46
- member_imp (Interval, NAT, begin);
47
- member_imp (Interval, NAT, step);
48
- member_imp (Interval, NAT, end);
46
+ NAT Interval::begin () const { return begin_; }
47
+ NAT &Interval::begin_ref () { return begin_; }
48
+ NAT Interval::step () const { return step_; }
49
+ NAT &Interval::step_ref () { return step_; }
50
+ NAT Interval::end () const { return end_; }
51
+ NAT &Interval::end_ref () { return end_; }
49
52
50
53
// Operators -------------------------------------------------------------------
51
54
@@ -69,7 +72,7 @@ bool Interval::operator<(const Interval &other) const
69
72
std::ostream &operator <<(std::ostream &out, const Interval &i)
70
73
{
71
74
out << " [" << Util::toStr (i.begin ());
72
- if (i.step_ != 1 )
75
+ if (i.step () != 1 )
73
76
out << " :" << Util::toStr (i.step ());
74
77
out << " :" << Util::toStr (i.end ()) << " ]" ;
75
78
@@ -85,7 +88,7 @@ unsigned int Interval::cardinal() const
85
88
86
89
bool Interval::isEmpty () const { return end_ < begin_; }
87
90
88
- bool Interval::isMember (NAT x) const
91
+ bool Interval::isMember (const NAT & x) const
89
92
{
90
93
if (x < begin_ || x > end_)
91
94
return false ;
@@ -128,7 +131,7 @@ Interval Interval::intersection(const Interval &other)const
128
131
129
132
// Extra operations ------------------------------------------------------------
130
133
131
- Interval Interval::offset (Util::NAT off) const
134
+ Interval Interval::offset (const Util::NAT & off) const
132
135
{
133
136
Util::NAT new_b = begin_ + off, new_e = end_ + off;
134
137
0 commit comments