Thank you so much John,
This is going to be extremely useful in helping me find the largest subset
of Boost that my company will allow me to use (license wise).
Regards,
Jaap Suter
> The bcp utility is a tool for extracting subsets of Boost, it's
> useful for Boost authors
. Further
guidelines for writing reviews can be found on the website at:
http://www.boost.org/more/formal_review_process.htm#Comments
Thanks,
Jaap Suter
> A Mini-recapitulation of the long saga so far, for new readers, by Paul
> Bristow:
>
> (for details see very much
nned to have it done before that, but my work is
taking up too much time at the moment.
If anybody has any questions about my library, I would be glad to help out.
I'm using it a lot myself and it has been very useful so far.
Cheers,
Jaap Suter
> The error occurs on the line with the boost static constant.
Never mind that, I changed the code after I wrote the message.
Here's the code in hopefully better formatting.
template < size_t LhsIndex, size_t RhsIndex, int Sign >
struct signature
{
typedef mpl::size_t< LhsIndex > lhs_index;
.com/ASPN/Mail/Message/1387917.
I also tried deriving predicate from mpl::equal_to that simply compares the
result to true_c, hoping that mpl::equal_to would give me the lambda support
for free. That didn't work either.
Any advice would be greatly a
def mpl::set< bool, int, float, > set_1;
mpl::is_equal< set_0, set_1 >::type // M, hard.
I guess we could specialize algorithms for sets, but that defeats the
purpose of having an iterator abstraction, etc.
Oh well, I'm probably just overlooking something.
> I und
ct square
> : integral_c< typename N::value_type, N::value * N::value >
> {};
>
>and later,
>
> template
> struct square_c : square > {};
>
>Not only is it simpler, but it allows:
>
>square >::value
>
>
typedef integral_c< some_list::element_type::value_type, 5 > some_element;
Notice the 'element_type'. All sequences would then have such a member-type
defined.
Perhaps there is already something like this in the MPL (STL has it too,
probably under a different name), but I couldn
r.
Luckily, after a nice and long debug session, I managed to track the problem
down to an inner-most loop, and then I simply had to rewrite it to make it
work.
Thanks for your help,
Jaap Suter
___
Unsubscribe & other changes: http://li
greatly appreciated.
Regards,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
tached the example code
below.
I'm wondering whether somebody can spot any errors in my code, or that I'm
probably confused about the way types propagate through meta-functions
again.
All help is greatly appreciated.
Sincerely,
Jaap Suter
templat
BOOST_STATIC_ASSERT
macro to allow both a release and debug version.
Note:
In hindsight it seems my assertions aren't that particularly heavy. I
guess I over-estimated the cost of a single meta-function call. It seems
recursion is more of a killer here.
Regards,
Jaap Suter
_
ERT_IMPL( true ) avoids all of the
> (potential?) problems you are worrying about. So why do you prefer
> (b)?
Because if we do this to save time, we might as well make sure that we save
as much time as possible.
Benchmarks coming up soon.
Cheers,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
end in calculations for the actual expression.
> But all this conjectures
> should be backed up by some measurement. Jaap?
Agreed. I will do some measurements this week and report back in a few days.
Regards,
Jaap Suter
___
Unsubscr
Personally I do
notice a compilation time improvement if I remove all concept-checks, but
that could be my code of course :).
Regards,
Jaap Suter
begin 666 static_assert.hpp
M+R\@("A#*2!#;W!Y2P@2!P=7)P;W-E
[EMAIL PROTECTED] @4V5E(&AT=' Z+R]W=W2!I;G1E9W)A;"UC;VYS=&%N="!E
M&g
ying debug and release versions of the compile time assert. I would
like to see the primary STATIC_ASSERT defined this way, but that's just me
of course :).
Regards,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
in the static_assert header directly.
Opinions?
Regards,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
y< List >::type >::type::value,
true_ >::type::value ));
3. Other ideas?
Thanks,
Jaap Suter
p.s. If this is considered off-topic and more suitable for
comp.lang.c++(.moderated) I apologize. Please let me know.
___
Unsubscri
Sorry for spamming the list with a non-boost
related question.
To make this post a bit more Boost related, I've added two items to the
Effective MPL wiki. Nothing big though, just two fixes for rare compiler
problems.
Regards,
Jaap Suter
___
big already, whereas they are small
on Intel and MSVC.
Alexsey: do you have any MPL experiences or hints using GCC?
I guess I could always dive into the disassembly to see what is generated.
Thanks,
Jaap Suter
___
Unsubscribe & other changes
foo( some_template< N >::type() );
I had to replace those with:
typedef some_template< N >::type() bar;
foo( bar() );
I had some other interesting things as well. I will add them all to the MPL
wiki, as well as the GCC problems. I will also add an item on the lambda
situa
> thank you for your reply ,but¡¡¡¡what is "Wiki" ?
http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_MPL
HTH
Jape
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
d be binary. But that has nothing to do with it :(
Yeah, it should have been binary. I guess I overshoot a bit with the
simplification of the example :).
You're right though, the problem stays. Luckily, Alexseys work-around works
fine!
Thanks,
Jaap Suter
> > Hi,
>
> Hi Jaap,
Wow, fast reply. Thanks!
> including MSVC 6.5/7.0 (assuming the latest CVS sources). Or are you using
> the 1.29.0 archive?
I have the latest CVS sources (I did a full 'get' over the 1_29_0 release in
case you wonder where the boost_1_29_0 directory comes from in the path
be
d you define meta_fun so it supports lambda
on MSVC 7? Or if it's possible, do you have some time to give a short
explanation on the LAMBDA macros, what compiler-problems they try to fix,
and how they do it?
Any information will of course be updated in the Effective MPL wiki.
Thanks,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
ral_c
>
> Aleksey will have to tell you why. Given the problems you're
> experiencing, I'm not sure whether it's worth it.
Aha, now I understand. That makes perfect sense. I'll just change my
functions to take integral_c<>
> > Is it possible that (under certain conditions) the following line:
> >
> > SNIP
> >
> > has a different type than this one:
> >
> > SNIP
>
> Uhm, in fact, these are always different:
Mm, I still don't quite understand. Consider the following function:
void foo( int_c< 0 > );
Shouldn't th
n't use it.
However, you did convince me, mostly because it allows me to do easier
global-search-and-replaces for typename to BOOST_DEDUCED_TYPENAME :) hehe.
Thanks,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
; > http://www.mywikinet.com/mpl/paper/mpl_paper.html#sequences.unrolling
> > and http://users.rcn.com/abrahams/instantiation_speed/index.html.
>
> The current sources implement the unrolling a little bit different; I will
> be documenting it sometime in the future, meanwhile just ask when you get
to
> it.
Thanks for the time and help!
Regards,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
mple, can the righthand
operand be negative, when is a logical, bitwise or arithmetic shift
performed, what if the lefthand operand is negative, etc. etc.). The
bit_shift_right (non _c) function just takes two parameters as usual, and
using AUX_TYPEOF their types are passed to the bit_shift_right_c
asap.
> I recommend that you use BOOST_STATIC_CONSTANT, as above (and not enum),
as
> enum doesn't always work well on this compiler (which is why static const
is
> used for it by this macro).
I agree. I just tried the enum-hack to see if it would work.
Thanks,
Jaap Suter
___
here, or maybe Borlands static-class-constants
behaviour is not 100% perfect....
Thanks,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
> Yes, it would probably be very worthwhile.
I quickly hacked something together at:
http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_MPL
It still has some questions for you and Alexsey, and also some TODO
document on Integral Constant Expressions, we could mention the 'early
template instantiation' and the work-around, and we could mention the lambda
complications. And I'm sure that you and Dave have more gold nuggets from
your experience using the MPL in real-world code.
Thanks a lot for your help.
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
preciated, but the actual
question is: is it worth it spending a lot of time on an MSVC7 port, or is
this an effort doomed to fail from the start? I suppose this is hard to
answer without knowing the library details and the target-audience, but
considering I'm doing some rather complicated
pename keyword?
Thanks,
Jaap Suter
___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
st have gotten corrupted somewhere along the way. Ah well,
the mysteries of computer science :).
Anyway, my company's legal department is currently revisiting the current
Boost situation, and they will come back with comments and possibly advice
within the next few days. I
e package has a unique
license.
Like I said, that's only if it were up to me. Luckily it isn't up to me. I'm
not a lawyer at all, so I might be completely wrong.
In any case, my question is;
What's the status on the Boost license debate?
Thanks,
Jaap Suter
_
38 matches
Mail list logo