I find a definition in
template <int rank_, int dim, typename Number>
class Tensor
{
...
typedef typename Tensor<rank_-1,dim,Number>::array_type array_type[dim];
...
}
I do not understand this definition. The array_type only appears once
here without any other definition in this template. How is it used to
define array_type[dim]?
Anyone can tell me how does this definition work?
It's recursive: Tensor<3,dim>::array_type references
Tensor<2,dim>::array_type which references Tensor<1,dim>::array_type.
But the latter class is explicitly specialized and essentially has this:
typedef Number array_type[dim];
W.
------------------------------------------------------------------------
Wolfgang Bangerth email: [email protected]
www: http://www.math.tamu.edu/~bangerth/
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii