Dear all,
Browsing through source files of boost, I see that
some libraries reimplement common idioms found in other libraries. For example
the tuple library reimplements its own compile time if and it's own
typelist.
I guess it would be better if high level boost
libraries(e.g. regex, threads, to some extend also the tuples) would use
the low level boost libraries (e.g. preprocessor, type_traits, mpl). Besides
bugfixes and platform/compiler workarounds, it has also a documentary advantage.
If you are familiar with mpl for example, one knows how to interpret the
construct with if_. Also one can better interact with libraries if they are
using the same base constructs. There almost no disadvantages,
because all the low level boost libraries are template
based.
But probably this is a matter of time, because at
first look at the variant library, I see that it uses the mpl. And people are
talking about the fusion library for the tuples.
Are there boost developers who can comment on
this?
Wkr,
me.