Skip to content

Commit 06901a3

Browse files
author
Kasper Peeters
committed
Fix const-correctness in operator+() and operator-() to make recent Apple compilers happy.
1 parent 972e478 commit 06901a3

File tree

3 files changed

+36
-25
lines changed

3 files changed

+36
-25
lines changed

cmake/version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
set(CADABRA_VERSION_MAJOR 2)
22
set(CADABRA_VERSION_MINOR 4)
33
set(CADABRA_VERSION_PATCH 5)
4-
set(CADABRA_VERSION_TWEAK 6)
4+
set(CADABRA_VERSION_TWEAK 7)
55
set(COPYRIGHT_YEARS "2001-2024")
66
math(EXPR SYSTEM_BITS "${CMAKE_SIZEOF_VOID_P} * 8")
77
find_program(GIT git PATHS ${GIT_DIR})

core/YoungTab.hh

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ namespace yngtab {
153153
in_column_iterator operator++(int);
154154
in_column_iterator& operator--();
155155
in_column_iterator operator--(int);
156-
in_column_iterator operator+(unsigned int);
157-
in_column_iterator operator-(unsigned int);
156+
in_column_iterator operator+(unsigned int) const;
157+
in_column_iterator operator-(unsigned int) const;
158158
in_column_iterator& operator+=(unsigned int);
159159
in_column_iterator& operator-=(unsigned int);
160160
T& operator[](int n) const;
@@ -184,8 +184,8 @@ namespace yngtab {
184184
in_column_const_iterator operator++(int);
185185
in_column_const_iterator& operator--();
186186
in_column_const_iterator operator--(int);
187-
in_column_const_iterator operator+(unsigned int);
188-
in_column_const_iterator operator-(unsigned int);
187+
in_column_const_iterator operator+(unsigned int) const;
188+
in_column_const_iterator operator-(unsigned int) const;
189189
in_column_const_iterator& operator+=(unsigned int);
190190
in_column_const_iterator& operator-=(unsigned int);
191191
bool operator<(const in_column_const_iterator& other) const;
@@ -212,8 +212,8 @@ namespace yngtab {
212212
in_row_iterator operator++(int);
213213
in_row_iterator& operator--();
214214
in_row_iterator operator--(int);
215-
in_row_iterator operator+(unsigned int);
216-
in_row_iterator operator-(unsigned int);
215+
in_row_iterator operator+(unsigned int) const;
216+
in_row_iterator operator-(unsigned int) const;
217217
in_row_iterator& operator+=(unsigned int);
218218
in_row_iterator& operator-=(unsigned int);
219219
bool operator<(const in_row_iterator& other) const;
@@ -241,8 +241,8 @@ namespace yngtab {
241241
in_row_const_iterator operator++(int);
242242
in_row_const_iterator& operator--();
243243
in_row_const_iterator operator--(int);
244-
in_row_const_iterator operator+(unsigned int);
245-
in_row_const_iterator operator-(unsigned int);
244+
in_row_const_iterator operator+(unsigned int) const;
245+
in_row_const_iterator operator-(unsigned int) const;
246246
in_row_const_iterator& operator+=(unsigned int);
247247
in_row_const_iterator& operator-=(unsigned int);
248248
bool operator<(const in_row_const_iterator& other) const;
@@ -269,8 +269,8 @@ namespace yngtab {
269269
iterator operator++(int);
270270
iterator& operator--();
271271
iterator operator--(int);
272-
iterator operator+(unsigned int);
273-
iterator operator-(unsigned int);
272+
iterator operator+(unsigned int) const;
273+
iterator operator-(unsigned int) const;
274274
iterator& operator+=(unsigned int);
275275
iterator& operator-=(unsigned int);
276276
bool operator<(const iterator& other) const;
@@ -296,8 +296,8 @@ namespace yngtab {
296296
const_iterator operator++(int);
297297
const_iterator& operator--();
298298
const_iterator operator--(int);
299-
const_iterator operator+(unsigned int);
300-
const_iterator operator-(unsigned int);
299+
const_iterator operator+(unsigned int) const;
300+
const_iterator operator-(unsigned int) const;
301301
const_iterator& operator+=(unsigned int);
302302
const_iterator& operator-=(unsigned int);
303303
bool operator<(const const_iterator& other) const;
@@ -532,15 +532,15 @@ namespace yngtab {
532532
}
533533

534534
template<class T>
535-
typename filled_tableau<T>::in_column_iterator filled_tableau<T>::in_column_iterator::operator+(unsigned int n)
535+
typename filled_tableau<T>::in_column_iterator filled_tableau<T>::in_column_iterator::operator+(unsigned int n) const
536536
{
537537
typename filled_tableau<T>::in_column_iterator it2(*this);
538538
it2+=n;
539539
return it2;
540540
}
541541

542542
template<class T>
543-
typename filled_tableau<T>::in_column_iterator filled_tableau<T>::in_column_iterator::operator-(unsigned int n)
543+
typename filled_tableau<T>::in_column_iterator filled_tableau<T>::in_column_iterator::operator-(unsigned int n) const
544544
{
545545
typename filled_tableau<T>::in_column_iterator it2(*this);
546546
it2-=n;
@@ -673,15 +673,15 @@ namespace yngtab {
673673
}
674674

675675
template<class T>
676-
typename filled_tableau<T>::in_column_const_iterator filled_tableau<T>::in_column_const_iterator::operator+(unsigned int n)
676+
typename filled_tableau<T>::in_column_const_iterator filled_tableau<T>::in_column_const_iterator::operator+(unsigned int n) const
677677
{
678678
typename filled_tableau<T>::in_column_const_iterator it2(*this);
679679
it2 += n;
680680
return it2;
681681
}
682682

683683
template<class T>
684-
typename filled_tableau<T>::in_column_const_iterator filled_tableau<T>::in_column_const_iterator::operator-(unsigned int n)
684+
typename filled_tableau<T>::in_column_const_iterator filled_tableau<T>::in_column_const_iterator::operator-(unsigned int n) const
685685
{
686686
typename filled_tableau<T>::in_column_const_iterator it2(*this);
687687
it2 -= n;
@@ -803,15 +803,15 @@ namespace yngtab {
803803
}
804804

805805
template<class T>
806-
typename filled_tableau<T>::in_row_iterator filled_tableau<T>::in_row_iterator::operator+(unsigned int n)
806+
typename filled_tableau<T>::in_row_iterator filled_tableau<T>::in_row_iterator::operator+(unsigned int n) const
807807
{
808808
typename filled_tableau<T>::in_row_iterator it2(*this);
809809
it2 += n;
810810
return it2;
811811
}
812812

813813
template<class T>
814-
typename filled_tableau<T>::in_row_iterator filled_tableau<T>::in_row_iterator::operator-(unsigned int n)
814+
typename filled_tableau<T>::in_row_iterator filled_tableau<T>::in_row_iterator::operator-(unsigned int n) const
815815
{
816816
typename filled_tableau<T>::in_row_iterator it2(*this);
817817
it2 -= n;
@@ -939,15 +939,15 @@ namespace yngtab {
939939

940940

941941
template<class T>
942-
typename filled_tableau<T>::in_row_const_iterator filled_tableau<T>::in_row_const_iterator::operator+(unsigned int n)
942+
typename filled_tableau<T>::in_row_const_iterator filled_tableau<T>::in_row_const_iterator::operator+(unsigned int n) const
943943
{
944944
typename filled_tableau<T>::in_row_const_iterator it2(*this);
945945
it2 += n;
946946
return it2;
947947
}
948948

949949
template<class T>
950-
typename filled_tableau<T>::in_row_const_iterator filled_tableau<T>::in_row_const_iterator::operator-(unsigned int n)
950+
typename filled_tableau<T>::in_row_const_iterator filled_tableau<T>::in_row_const_iterator::operator-(unsigned int n) const
951951
{
952952
typename filled_tableau<T>::in_row_const_iterator it2(*this);
953953
it2 -= n;
@@ -1070,15 +1070,15 @@ namespace yngtab {
10701070
}
10711071

10721072
template<class T>
1073-
typename filled_tableau<T>::iterator filled_tableau<T>::iterator::operator+(unsigned int n)
1073+
typename filled_tableau<T>::iterator filled_tableau<T>::iterator::operator+(unsigned int n) const
10741074
{
10751075
typename filled_tableau<T>::iterator it2(*this);
10761076
it2+=n;
10771077
return it2;
10781078
}
10791079

10801080
template<class T>
1081-
typename filled_tableau<T>::iterator filled_tableau<T>::iterator::operator-(unsigned int n)
1081+
typename filled_tableau<T>::iterator filled_tableau<T>::iterator::operator-(unsigned int n) const
10821082
{
10831083
typename filled_tableau<T>::iterator it2(*this);
10841084
it2-=n;
@@ -1223,15 +1223,15 @@ namespace yngtab {
12231223
}
12241224

12251225
template<class T>
1226-
typename filled_tableau<T>::const_iterator filled_tableau<T>::const_iterator::operator+(unsigned int n)
1226+
typename filled_tableau<T>::const_iterator filled_tableau<T>::const_iterator::operator+(unsigned int n) const
12271227
{
12281228
typename filled_tableau<T>::const_iterator it2(*this);
12291229
it2 += n;
12301230
return it2;
12311231
}
12321232

12331233
template<class T>
1234-
typename filled_tableau<T>::const_iterator filled_tableau<T>::const_iterator::operator-(unsigned int n)
1234+
typename filled_tableau<T>::const_iterator filled_tableau<T>::const_iterator::operator-(unsigned int n) const
12351235
{
12361236
typename filled_tableau<T>::const_iterator it2(*this);
12371237
it2 -= n;

web2/cadabra2/source/download.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,13 @@ <h2>Binary packages</h2>
124124
email <a href="mailto:[email protected]">[email protected]</a>
125125
so they can be fixed and other people can benefit from it.
126126
</div>
127+
<div class="distrotxt">
128+
Cadabra is
129+
also <a href="https://ports.macports.org/port/cadabra2/">available
130+
via MacPorts</a>,
131+
<code>sudo port install cadabra2</code>
132+
should do the trick. For more details follow the link above.
133+
</div>
127134
<div class="distrotxt">
128135
If you want to build from source,
129136
see <a href="https://github.com/kpeeters/cadabra2#macos">macOS
@@ -158,6 +165,10 @@ <h2>Binary packages</h2>
158165
<div class="distrotype">
159166
<img src="static/images/conda.png"/>
160167
<div class="distrotxt">
168+
<b>The Conda packages are outdated and contain known bugs; if you
169+
can, avoid it and use one of the other available packages.</b>
170+
</div>
171+
<div class="distrotxt">
161172
On Linux and macOS, you can install Cadabra, its native notebook
162173
interface, and the Jupyter kernel via Conda or Anaconda, thanks
163174
to the work of Isuru Fernando. Activate the <tt>conda-forge</tt>

0 commit comments

Comments
 (0)