Skip to content

Commit 43d1d43

Browse files
committed
Do not use concepts in mini expressions
Some compilers cannot handle recursive template types since they may be incomplete types at moments when the concept is checked.
1 parent ff80947 commit 43d1d43

File tree

10 files changed

+27
-28
lines changed

10 files changed

+27
-28
lines changed

source/pbat/math/linalg/mini/BinaryOperations.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace math {
1616
namespace linalg {
1717
namespace mini {
1818

19-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix>
19+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix>
2020
class Sum
2121
{
2222
public:
@@ -51,7 +51,7 @@ class Sum
5151
RhsNestedType const& B;
5252
};
5353

54-
template <CMatrix TLhsMatrix>
54+
template <class /*CMatrix*/ TLhsMatrix>
5555
class SumScalar
5656
{
5757
public:
@@ -79,7 +79,7 @@ class SumScalar
7979
ScalarType mK;
8080
};
8181

82-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix>
82+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix>
8383
class Subtraction
8484
{
8585
public:
@@ -114,7 +114,7 @@ class Subtraction
114114
RhsNestedType const& B;
115115
};
116116

117-
template <CMatrix TLhsMatrix>
117+
template <class /*CMatrix*/ TLhsMatrix>
118118
class SubtractionScalar
119119
{
120120
public:
@@ -141,7 +141,7 @@ class SubtractionScalar
141141
ScalarType mK;
142142
};
143143

144-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix>
144+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix>
145145
class Minimum
146146
{
147147
public:
@@ -180,7 +180,7 @@ class Minimum
180180
RhsNestedType const& B;
181181
};
182182

183-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix>
183+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix>
184184
class Maximum
185185
{
186186
public:
@@ -219,7 +219,7 @@ class Maximum
219219
RhsNestedType const& B;
220220
};
221221

222-
template <CMatrix TMatrix, class Compare>
222+
template <class /*CMatrix*/ TMatrix, class Compare>
223223
class MatrixScalarPredicate
224224
{
225225
public:
@@ -254,7 +254,7 @@ class MatrixScalarPredicate
254254
CompareType mComparator;
255255
};
256256

257-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix, class Compare>
257+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix, class Compare>
258258
class MatrixMatrixPredicate
259259
{
260260
public:

source/pbat/math/linalg/mini/Geometry.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace math {
1313
namespace linalg {
1414
namespace mini {
1515

16-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix>
16+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix>
1717
class CrossProduct
1818
{
1919
public:

source/pbat/math/linalg/mini/Product.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace math {
1313
namespace linalg {
1414
namespace mini {
1515

16-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix>
16+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix>
1717
class Product
1818
{
1919
public:

source/pbat/math/linalg/mini/Reductions.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace math {
1414
namespace linalg {
1515
namespace mini {
1616

17-
template <CMatrix TMatrix>
17+
template <class /*CMatrix*/ TMatrix>
1818
class ConstDiagonal
1919
{
2020
public:
@@ -43,7 +43,7 @@ class ConstDiagonal
4343
NestedType const& mA;
4444
};
4545

46-
template <CMatrix TMatrix>
46+
template <class /*CMatrix*/ TMatrix>
4747
class Diagonal
4848
{
4949
public:

source/pbat/math/linalg/mini/Repeat.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ namespace math {
1212
namespace linalg {
1313
namespace mini {
1414

15-
16-
template <CMatrix TMatrix, int RepeatRows, int RepeatCols>
15+
template <class /*CMatrix*/ TMatrix, int RepeatRows, int RepeatCols>
1716
class TiledView
1817
{
1918
public:

source/pbat/math/linalg/mini/Scale.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace math {
1414
namespace linalg {
1515
namespace mini {
1616

17-
template <CMatrix TMatrix>
17+
template <class /*CMatrix*/ TMatrix>
1818
class Scale
1919
{
2020
public:

source/pbat/math/linalg/mini/Stack.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace math {
1313
namespace linalg {
1414
namespace mini {
1515

16-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix>
16+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix>
1717
class HorizontalStack
1818
{
1919
public:
@@ -50,7 +50,7 @@ class HorizontalStack
5050
RhsNestedType const& mRhs;
5151
};
5252

53-
template <CMatrix TLhsMatrix, CMatrix TRhsMatrix>
53+
template <class /*CMatrix*/ TLhsMatrix, class /*CMatrix*/ TRhsMatrix>
5454
class VerticalStack
5555
{
5656
public:

source/pbat/math/linalg/mini/SubMatrix.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace math {
1414
namespace linalg {
1515
namespace mini {
1616

17-
template <CMatrix TMatrix, int M, int N>
17+
template <class /*CMatrix*/ TMatrix, int M, int N>
1818
class ConstSubMatrix
1919
{
2020
public:
@@ -66,7 +66,7 @@ class ConstSubMatrix
6666
int ib, jb;
6767
};
6868

69-
template <CMatrix TMatrix, int M, int N>
69+
template <class /*CMatrix*/ TMatrix, int M, int N>
7070
class SubMatrix
7171
{
7272
public:

source/pbat/math/linalg/mini/Transpose.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ namespace math {
1313
namespace linalg {
1414
namespace mini {
1515

16-
template <CMatrix TMatrix>
16+
template <class /*CMatrix*/ TMatrix>
1717
class ConstTransposeView;
1818

19-
template <CMatrix TMatrix>
19+
template <class /*CMatrix*/ TMatrix>
2020
class TransposeView;
2121

2222
// NOTE:
@@ -26,7 +26,7 @@ class TransposeView;
2626
// the exact same implementation as SubMatrix (and its const version), specifically for
2727
// (Const)TransposeView.
2828

29-
template <CMatrix TMatrix, int M, int N>
29+
template <class /*CMatrix*/ TMatrix, int M, int N>
3030
class ConstTransposeSubMatrix
3131
{
3232
public:
@@ -69,7 +69,7 @@ class ConstTransposeSubMatrix
6969
int ib, jb;
7070
};
7171

72-
template <CMatrix TMatrix, int M, int N>
72+
template <class /*CMatrix*/ TMatrix, int M, int N>
7373
class TransposeSubMatrix
7474
{
7575
public:
@@ -134,7 +134,7 @@ class TransposeSubMatrix
134134
int ib, jb;
135135
};
136136

137-
template <CMatrix TMatrix>
137+
template <class /*CMatrix*/ TMatrix>
138138
class TransposeView
139139
{
140140
public:
@@ -205,7 +205,7 @@ class TransposeView
205205
NestedType& A;
206206
};
207207

208-
template <CMatrix TMatrix>
208+
template <class /*CMatrix*/ TMatrix>
209209
class ConstTransposeView
210210
{
211211
public:

source/pbat/math/linalg/mini/UnaryOperations.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace math {
1818
namespace linalg {
1919
namespace mini {
2020

21-
template <CMatrix TMatrix>
21+
template <class /*CMatrix*/ TMatrix>
2222
class Square
2323
{
2424
public:
@@ -44,7 +44,7 @@ class Square
4444
NestedType const& A;
4545
};
4646

47-
template <CMatrix TLhsMatrix>
47+
template <class /*CMatrix*/ TLhsMatrix>
4848
class Reciprocal
4949
{
5050
public:
@@ -73,7 +73,7 @@ class Reciprocal
7373
LhsNestedType const& mA;
7474
};
7575

76-
template <CMatrix TMatrix>
76+
template <class /*CMatrix*/ TMatrix>
7777
class Absolute
7878
{
7979
public:

0 commit comments

Comments
 (0)