|
Boost Users : |
From: Ovanes Markarian (om_boost_at_[hidden])
Date: 2007-03-16 16:59:34
Just an addition to the second question...
Unfortunately, I forgot my MPL book at work :(
But I remember, that in the chapter about physical quantities authors show
how to compare quantity types (one which is iniaital mpl::vector like
mpl::vector_c<int, 0, 1, 0, ...> and the other an instance of mpl::vector
which is produced as a result of function application (which logically also
results in the same template arguments but have different type)) this
chapter might help you.
With Kind Regards,
Ovanes.
-----Original Message-----
From: Ovanes Markarian [mailto:om_boost_at_[hidden]]
Sent: Freitag, 16. März 2007 21:44
To: boost-users_at_[hidden]
Subject: Re: [Boost-users] [MPL] 2 Newbie Questions
BOOST_MPL_ASSERT operates on types, this also applies to mpl::or_
Try out:
#include <boost/mpl/bool.hpp>
#include <boost/mpl/assert.hpp>
#include <boost/mpl/or.hpp>
BOOST_MPL_ASSERT((true_)); //true is not a bool value it is a type it has
underscore...
BOOST_MPL_ASSERT((
mpl::or_(false_,
boost::is_same<CallerConstraints,
CodeConstraints::Ignore_Constraints>)
)); //false_ also a type...
With Kind Regards,
Ovanes
-----Original Message-----
From: Scott Meyers [mailto:usenet_at_[hidden]]
Sent: Freitag, 16. März 2007 20:38
To: boost-users_at_[hidden]
Subject: [Boost-users] [MPL] 2 Newbie Questions
I'm trying to use the MPL for the first time, and I have two questions.
First, I want to use BOOST_MPL_ASSERT to say that at least one of two
conditions is true. For the time being, one of the conditions is always
false, so this is what I've tried:
BOOST_MPL_ASSERT((
false
||
boost::is_same<CallerConstraints,
CodeConstraints::Ignore_Constraints>
));
It won't compile, so I tried this:
BOOST_MPL_ASSERT((
mpl::or_(false,
boost::is_same<CallerConstraints,
CodeConstraints::Ignore_Constraints>)
));
It won't compile either. I'm guessing that I have to use mpl::false_ or
something in place of false, but that doesn't work either. Can somebody
please tell me the proper way to say what I want to say?
My second question is about the existence of an MPL algorithm akin to the
STL algorithm includes. Given two MPL vectors V1 and V2, I want to know if
all the types in V1 are also in V2. I know about mpl::contains, but I can't
find mpl::includes. Is there one, or do I need to write it myself?
I have the MPL book, so references to that are fine, in addition to anything
online.
Thanks,
Scott
_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net