Boost logo

Boost Users :

From: Scott Meyers (usenet_at_[hidden])
Date: 2007-03-16 15:38:00


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 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