|
Boost : |
From: Cromwell Enage (sponage_at_[hidden])
Date: 2004-09-15 22:51:02
Once Tropical Storm Jeanne passes away, I should be
through with hurricanes for a while.
The latest-and-greatest MPL looks great! The new
ability to plug in custom numeric metatypes so that
they work with existing numeric ops makes it a
definite keeper.
The part of my sub-library that I've updated to work
with the new MPL is at
<http://groups.yahoo.com/group/boost/files/mpl_math.zip>,
and has been tested with MinGW 3.2 and MSVC 7.1 (2003
Toolkit). Renaming issues aren't too bad; I just have
to remember (for one thing) that reverse_copy is
defined at copy.hpp and not reverse_copy.hpp as I
originally thought. I also noticed that
BOOST_MPL_AUX_TYPEOF is no longer there, but I've
managed to eliminate the need for it.
A major issue I have is how to properly use
numeric_cast in order to make something like the
following statement work correctly:
typedef plus<int_<1>,fraction_c<long,4,3> >::type
fraction_7_over_3;
Right now I've made N^2 specializations of plus_impl,
where N here means the total number of built-in and
custom numeric metatypes. For my sub-library, N==4,
which means I've made 16 specializations of plus_impl
alone! Factor in the comparison ops as well the
arithmetic ops, and my code is starting to look
bloated. I've supplied a couple of convenience macros
to reduce the copy-and-pasting, but I still think I'm
missing something crucial here, and I think that
something is how to use (or specialize) numeric_cast.
Pointers welcome!
Cromwell Enage
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk