Re: [boost] question about TMP

for those who is still interested i thought about types that a library user can actually use and finally came to this decision one can use something like //don't look at syntax, check out the concept matrix<double> m; //general rectangular dense matrix matrix<double, sparse> sp; //rectangular sparse matrix square<double> sq; //square matrix, although one might square<double, symmetric> sym; //use the following types which square<double, upper_triang> ut; //model corresponding concepts square<double, lower_triang> lt; //i.e. symmetric, upper- & lower //triangular matrices square<double, symmetric | sparse> sparse_sym; //also this square<double, lower_triang | sparse> sparse_lt;//might be useful band<double> b; //guess... band<double, symmetric> bs; //why not? //etc... all these types provide strict explicit interfaces e.g. - 'square' provides 'resize(size_t)' member but not 'resize(size_t, size_t)' - 'band' provides useful 'bandwidth()' member and 'diagonal(int)' member which returns diagonal (might be useful for implementing a band solver) -- Pavel
participants (1)
-
DE