Boost logo

Boost :

From: Robert Kawulak (kawulak_at_[hidden])
Date: 2005-10-14 07:40:44


Hi,

> From: Peder Holt

> It would perhaps be a good idea to use mpl::int_<> instead of
> give_number<> to specify a constraint limit.

But the point is that give_number is a function object type, it can't be
replaced with a template metafunction. If one wants to have integral bounds,
he may use bounded_int which takes integral constants as its parameters.

> You can also use mpl::math::double_c<> (available from the file vault:
> Template Metaprogramming/mpl_math.zip)

The problem is double_c is not a function object type - it only defines
operator value_type(). If it'd also define

value_type operator() ()
{
  return static_cast<value_type>(*this);
}

then it would be usable in this case. Maybe you'll consider the possibility
to add this operator to double_c?

> To extract a runtime equivalent:
> boost::mpl::runtime_value<MinValGen::value_type>(MinValGen());

There's something I don't understand - what does the above line do? I can't
see runtime_value having a constructor?

Best regards,
Robert


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk