Bill Baxter пишет:
2008/12/16 Weed <resume...@mail.ru>:
I should explain why it's important for me:

For example, I am making a matrix object(s)

It should be:
- any size
- with ability of making matrix instance of a given size in compile time.
- ability of creating matrix instance in runtime.

I have decided to make it struct because I need to create matrix
object in compile time. in real program I'll need matricies of
variable size and 3х1, 3х3, 6х6, 3х6 sizes (and may be other).

I want to make matrix template and insert in it with mixin operator
several structures of different sizes (and this structs are not store his
dimensions in each instance, of course: variables width and height declared
as invariant). By doing this I'll get several different structures
 (matrix_dynamic, matrix3x3, matrix6x6 etc)

question is how those matricies can interoperate? They does not have
common parent (structures does not have inheritance) , so I can't
make common function for matricies of different sizes opAdd for
example, and have to do functions for all types of matricies.

How should I implement such a class In D properly?
It possible in C++, but I like some of the language D


Here's one way:
http://www.dsource.org/projects/openmeshd/browser/trunk/LinAlg/linalg/MatrixT.d

--bb

        
necessarily need the ability to change the size of the matrix

together with a static matrix it can be done using two types of matrices with a common parent.

Reply via email to