>From: <[EMAIL PROTECTED]>

> > Even if angle is added as a dimension, to an implementation using an
> > integer vector, it still wouldn't accommodate any other dimensions
> > added later, without rewriting the library and unit definitions.
>
> how about having the basic SI dimensions and a couple of extra
> "to-be-defined-by-the-developer" dimensions. In that case, full
> SI "compliance" and for those who want something extra they can have
> it. I saw one of the discussed unit libraries provided something
> like a dimension to be defined by the user/developer.

I think I know a way this may be done, now: Default parameters.

There's several ways of specifying a unit; one is to use a typelist, such as
"typedef mpl::vector_c<1,0,0,0,0,0,0> kg" (Dave Abrahams also showed this
approach at the recent ACCU conference), or use template parameters for the
dimensions. In both ways, defaults may be used (it's used internally for
mpl::vector, anyway). In fact, all could be defaulted (like mpl::vector<>),
giving in this case a dimensionless unit.

Named template parameters could be a possibility, as well, so you could do
"typedef unit<kg<>, m<>, s<-2> > newton".


Regards,

Terje

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to